Heissan,
Sattuisiko jollakin olemaan kokemusta kyseisestä tuotteessta. Tarvitsisin hieman informaatiota siitä miten onnistuu OC4J:n konfigurointi niin, että siitä saa tietokantayhteyksiä Microsoftin SQL Serveriin. Eli millaisia rivejä ja mihin pitää kirjoittaa, että onnistuu. Jos jollakin on asiasta tietoa niin se olisi kiva juttu.
Homman nimi on tällä hetkellä se, että tietokantayhteydet pelaavat kun käytän Oraclen JDeveloperia ja testaan sovellusta, mutta kun testaan kyseistä sovellusta OC4J:ssän niin tulee herja NullPointerException viitaten siihen, ettei kyseistä tietokantayhteyttä löydy.
Sattuisiko jollakin olemaan kokemusta kyseisestä tuotteessta. Tarvitsisin hieman informaatiota siitä miten onnistuu OC4J:n konfigurointi niin, että siitä saa tietokantayhteyksiä Microsoftin SQL Serveriin. Eli millaisia rivejä ja mihin pitää kirjoittaa, että onnistuu. Jos jollakin on asiasta tietoa niin se olisi kiva juttu.
Homman nimi on tällä hetkellä se, että tietokantayhteydet pelaavat kun käytän Oraclen JDeveloperia ja testaan sovellusta, mutta kun testaan kyseistä sovellusta OC4J:ssän niin tulee herja NullPointerException viitaten siihen, ettei kyseistä tietokantayhteyttä löydy.
Vastaukset 5
Vanhimmat
Onko tuo joku Oraclen oma tietokantadriveri, vai onko suunnitelmissa käyttää yhteyttä jdbc-sillan kautta?
Mulla on omissa tietokantayhteyksissä käytetty
sun.jdbc.odbc.JdbcOdbcDriver
ajuria, ja hyvin tuntuu toimivan. Tietokantayhteydethän kannattais tehdä nopeuden takia toimittajien omilla drivereillä, mutta tuollakin sen saa futaamaan.
jdbc-yhteyden luominen;
final private String Driver = "sun.jdbc.odbc.JdbcOdbcDriver";
final private String DB = "jdbc:odbc:odbcYhteydenNimi";
public synchronized Connection connect(String user, String password, String userName) throws Exception{
try{
Class.forName(Driver).newInstance();
}
catch (Exception e){
//
}
try{
return DriverManager.getConnection(DB,user,password);
}
catch(Exception e){
return null;
}
}
Siis ongelma ei ole ohjelma koodissa koska IDEllä ajettaessa kyseinen sovellus toimii moitteettomasti. Mutta kun yrittää ajaa webin kautta Oraclen OC4J:llä, joka toimii Oracle9i Application Serverin webbipalvelimena, niin tässä vaiheessa kun yrittää sovellusta ajaa tulee herjat ettei tietokannan ajureita löytynyt... Internetin puolella herjaa NullPointerExceptionista ja OC4J heittää taas ClassNotFoundExceptionin ja viittaa com.microsoft.jdbc.sqlserver.SQLServerDriver -luokkaan. Eli jos jollakin on kokemusta kyseisestä tuotteesta niin olisin suhteellisen kiitollinen avusta.
Löytyyhän sulla CLASSPATH:sta jdbc-driver?
Löytyyhän ne polut sieltä, mutta ongelma oli siinä, että piti laittaa SQL Serverin ajurit tuon OC4J:n kirjastoon. En tiedä miksi ei toiminunt aluksi vaikka kirjoitin OC4J:n config -hakemistossa olevaan .xml tiedostoon tarvittavat polut. Mutta nyt kuitenkin on homma ok.
Käytän itse Orionia (joka lienee kohtuullisen lähellä OC4j:tä) sekä JBuilderia (joka lienee kohtuullisen lähellä JDeveloperia) :)
Ongelmasi johtuu siitä, ettei OC4j löydä com.microsoft.jdbc.sqlserver.SQLServerDriver -luokkaa. Luokka löytyy kohtuullisella varmuudella JDeveloperin 'lib' tai 'ext' (tms) alta. Luokka on todnäk paketoitu johonkin jar -pakettiin sisään. Avaa jar-paketteja vaikka winzipillä, ja etsi kyseinen SQLServerDriver-luokka.
Kun löydät oikean jar-paketin, siirrä se sovelluspalvelimen käyttöön sopivaan lib-hakemistoon. Voit käyttää joko sovelluspalvelinkohtaista hakemistoa (esim c:appserverlib) tai sovelluskohtaista (esim c:appserverapp1lib). Ainakaan Orionissa ei tarvita mitään CLASSPATH-määritystä, pelkkä jar:n siirtäminen oikeaan hakemistoon riittää.