Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

E mail i sms komunikacija sa oracle-om

[es] :: Oracle :: E mail i sms komunikacija sa oracle-om

[ Pregleda: 2452 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Bojann
Zrenjanin

Član broj: 13255
Poruke: 217
*.dynamic.isp.telekom.rs.



Profil

icon E mail i sms komunikacija sa oracle-om22.05.2010. u 08:35 - pre 168 meseci
Dakle,

koristim utl_smtp i utl_mail za slanje podataka na e mail, a time preko provajdera i slanje na sms i to radi dobro. Medjutim moja ideja je da omogucim obostranu komunikaciju, odnosno da sms-om zahtevam nesto iz Oracle 10g baze. Pretpostavljam da je jedna od varijanti da sms-om kod provajdera automatski generisem mail, ali sta dalje? Kako da okinem bazu i zahtevam joj odredjene podatke(npr sms-om posaljem poruku tipa "kupac 258", a on vrati sms o stanju duga npr)?
 
Odgovor na temu

GORSHTAK
Ivan Matić

Član broj: 136182
Poruke: 285
*.aDSL.Verat.Net.



+5 Profil

icon Re: E mail i sms komunikacija sa oracle-om23.05.2010. u 11:57 - pre 168 meseci
Baš Oracle10g, nije XE?
Ako si dobar sa javom, mozeš da napraviš java wrapper, nisam našao da postoji nešto poput utl_pop.
Ono pitanje sam ti postavio iz razloga što XE ne podržava java wrap.
 
Odgovor na temu

Bojann
Zrenjanin

Član broj: 13255
Poruke: 217
*.dynamic.isp.telekom.rs.



Profil

icon Re: E mail i sms komunikacija sa oracle-om23.05.2010. u 14:20 - pre 168 meseci
Da bas je 10g. Mala pomoc oko Java wrraper?
 
Odgovor na temu

GORSHTAK
Ivan Matić

Član broj: 136182
Poruke: 285
*.aDSL.Verat.Net.



+5 Profil

icon Re: E mail i sms komunikacija sa oracle-om24.05.2010. u 19:38 - pre 168 meseci
Davno sam radio sa wrapperom tako da se i ne sećam svih detalja, ali...
Pogledaj ovo: http://www.devshed.com/c/a/Ora...with-Java-Libraries-concluded/

Ukratko, napraviš java klasu, učitaš je u oracle sa loadjava, i praviš procedure u ovakvom formatu
Code:

create or replace procedure proc_bez_parametara
as language java 
name 'Klasa.metoda()';

create or replace procedure proc_sa_parametrom(v_ulaz in varchar2)
as language java 
name 'Klasa.metoda(java.lang.String)';


 
Odgovor na temu

bantu

Član broj: 38670
Poruke: 305
89.111.240.*



+27 Profil

icon Re: E mail i sms komunikacija sa oracle-om25.05.2010. u 12:54 - pre 168 meseci
Evo ova klasa bi trebala da radi, malo je modifikuj ako imas potrbe i od nje napravi oracle funkciju.

Ovo sam brzinski nasao neki primjer na netu i probao kao stande-alone app i radi ti bi trebao da iskoristis ovu metodu ReceiveMail.receive(java.lang.String, java.lang.String, java.lang.String), a on ce ti vratiti string sa svim mailovima pa onda mozes da ih parsiras kako ti odgovara.

Da napomenem da nisam bas naj sa Oraclom ali sam jednom pisao jednu java proceduru koja je radila ok, ali nije zahtjevala rad sa mrezom i nije toliko dugo trajala.

Da bi ovo radilo potreban ti je JavaMail api to je jedan jar file (mail.jar) koji bi trebao da imas negdje na classpath-u svoga servera.

I vodi racuna da ova funkcija moze malo da potraje, jer ipak se spaja na neki tamo mail server i svlaci mailove.

Mozda se jos neko ukljusi sa malo vise iskustva sa javom i oracle-om pa da da koji dobar savjet.

Code:

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;

import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Part;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.internet.InternetAddress;

/**
 * A simple email receiver class.
 */
public class ReceiveMail {
    /**
     * Main method to receive messages from the mail server specified as command
     * line arguments.
     */
    public static void main(String args[]) {
        
            String popServer = "mail.server.com";
            String popUser = "username";
            String popPassword = "password";
            System.out.println(receive(popServer, popUser, popPassword));
    
    
    }

    public static String receive(String popServer, String popUser,
            String popPassword) {
        Store store = null;
        Folder folder = null;
        StringBuffer bf = new StringBuffer();
        try {
            
            Properties props = System.getProperties();             
            Session session = Session.getDefaultInstance(props, null);            
            store = session.getStore("pop3");        
            store.connect(popServer, popUser, popPassword);            
            folder = store.getDefaultFolder();
            
            if (folder == null)
                throw new Exception("No default folder");            
            folder = folder.getFolder("INBOX");
            if (folder == null)
                throw new Exception("No POP3 INBOX");            
            folder.open(Folder.READ_ONLY);            
            Message[] msgs = folder.getMessages();
            
            
            
            for (int msgNum = 0; msgNum < msgs.length; msgNum++) {
                bf.append(getMessage(msgs[msgNum]));
                bf.append("\n");
            }
            
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            // -- Close down nicely --
            try {
                if (folder != null)
                    folder.close(false);
                if (store != null)
                    store.close();
                                
            } catch (Exception ex2) {
                ex2.printStackTrace();
            }
        }
        return bf.toString();
    }

    public static String getMessage(Message message) {
        StringBuffer bf = new StringBuffer();
        try {
            
            String from = ((InternetAddress) message.getFrom()[0])
                    .getPersonal();
            if (from == null)
                from = ((InternetAddress) message.getFrom()[0]).getAddress();
            bf.append("FROM: " + from + "\n");
            String subject = message.getSubject();
            bf.append("SUBJECT: " + subject + "\n");            
            Part messagePart = message;
            Object content = messagePart.getContent();
            
            if (content instanceof Multipart) {
                messagePart = ((Multipart) content).getBodyPart(0);
                bf.append("[ Multipart Message ]\n");
            }
            
            String contentType = messagePart.getContentType();
            
            bf.append("CONTENT:" + contentType + "\n");
            
                InputStream is = messagePart.getInputStream();
                BufferedReader reader = new BufferedReader(
                        new InputStreamReader(is));
                String thisLine = reader.readLine();
                while (thisLine != null) {
                    bf.append(thisLine + "\n");
                    thisLine = reader.readLine();
                }
            
            bf.append("-----------------------------\n");
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return bf.toString();
    }
}


 
Odgovor na temu

Bojann
Zrenjanin

Član broj: 13255
Poruke: 217
*.dynamic.isp.telekom.rs.



Profil

icon Re: E mail i sms komunikacija sa oracle-om25.05.2010. u 14:06 - pre 168 meseci
Hvala, probacu
 
Odgovor na temu

[es] :: Oracle :: E mail i sms komunikacija sa oracle-om

[ Pregleda: 2452 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.