konto usunięte

Temat: jdbc i oracle - oracle 12505 error - a sid istnieje...

Piszę aplikację w której używam jdbc do łączenia z oracle. Oracle wersja 9i XE. Ciekawa rzecz, że na mojej maszynie (Ubuntu 8.10) wszystko śmiga, ale kiedy przeniosę gotową aplikację na inną maszynę - tym razem win XP, na której jest zainstalowane Oracle rzuca błędem ora-12505.Wynikałoby z tego że nie istnieje taki sid. sprawdzam tnsnames i wygląda ok, z toada da się podłączyć podając te same parametry.Moja klasa do łączenia z bazą:
public class Database {
private static Connection connection;
public static Connection getConnection(){
if (connection!=null) return connection;
Connection con = null;
String driver="oracle.jdbc.driver.OracleDriver";




try{
Class.forName(driver).newInstance();
}catch(Exception e){
e.printStackTrace();
return null;
}
try{
con = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ora","eric","cartman");
}catch(Exception e){
e.printStackTrace();
}
connection=con;
return con;
}
public static void main(String[] args)
throws ClassNotFoundException, SQLException
{
getConnection();
}
}

Co powoduje ten błąd?
Przemysław Rumik

Przemysław Rumik kodowanie to moja
specjalność ;-)

Temat: jdbc i oracle - oracle 12505 error - a sid istnieje...

Jako że nie znoszę Oracla [za wszelkie jego występki przeciwko standardom, błędy w sterownikach JDBC i podobne [np. udziwnione kodowanie znaków, czy nieopisane nigdzie zasady, że jednocześnie nie da się zrobić pewnych rzeczy ;-)]] uprosiłem sobie sprawę i gdy nie podaje gdzieś całej "ścieżki" do bazy to tworzę sobie zawsze 2 wg. schematu:

jdbc:oracle:thin:@//host:port/dbName
jdbc:oracle:thin:@host:port:dbName

gdzie host to host ;-) a dbName to sid lub service name
po czym testuje i jak któraś działa to jej używam.

Btw. widać mam inną wersję sterowników bo u mnie klasa drivera nazywa się: oracle.jdbc.OracleDriver

Spróbuj więc może jdbc:oracle:thin:@//127.0.0.1:1521/ora
Krzysztof T.

Krzysztof T. Software maker

Temat: jdbc i oracle - oracle 12505 error - a sid istnieje...

no ja tez uzywam oracle.jdbc.OracleDriver,
ale głównie dlatego, że z oracle.jdbc.driver.OracleDriver napotykałem nielogiczne problemy.

konto usunięte

Temat: jdbc i oracle - oracle 12505 error - a sid istnieje...

Pokombinowałem i daję rozwiązanie - może ktoś będzie miał podobny problem. Rozwiązanie było... przynajmniej dziwne. zamiast podawać 127.0.0.1 wpisałem po prostu localhost... i nagle ruszyło. Nie mam pojęcia czemu tak, czyżby dla uindozy było to coś innego? Nie mam pojęcia czemu to cokolwiek dało. Niemniej jednak zagadka ciekawa :) może znajdzie się ktoś i mnie oświeci - może jednak jest różnica między 127.0.0.1 a localhost :D
Proponuję założenie grupy - kronika przypadków dziwnych i nadzwyczajnych :)
Mam nadzieję, że tego typu sytuacje po prostu się zdarzają, a nie że ja mam po prostu jakiegoś przeogromniastego pecha.
Pozdrawiam i dzięki!
Daniel Mroczka

Daniel Mroczka Experienced Java
Developer

Temat: jdbc i oracle - oracle 12505 error - a sid istnieje...

Krzysztof Torenc:
no ja tez uzywam oracle.jdbc.OracleDriver,
ale głównie dlatego, że z oracle.jdbc.driver.OracleDriver napotykałem nielogiczne problemy.

Bo pakiet oracle.jdbc.driver jest deprecated od wersji 9i. Nie wiem co to za OS uindoza ale na WinXP nie ma znaczenia czy podajesz localhost czy 127.0.0.1, inna bajka że mam zwyczaj używać nazw (adresy IP mogą ulegać zmianom - nie mówię oczywiście o localhoscie). Trochę się dziwie temu co tu piszecie o doświadczeniach z Oraclem, ja przetrawiłem niemal każdą wersje od 8.1.5 do 11 i teraz praca z Oraclem to bułka maślana w porównaniu z tym co potrafił zafundować Oracle 8.1.x :P
Kolejna sprawa: bardzo istotny jest sterownik dlatego warto dwa razy sprawdzić czy ściągnięty jar obsługuje naszą baze. Wersji sterowników trochę jest a nie każdy pięknie odmawia współpracy podając wprost przyczyne.
Krzysztof T.

Krzysztof T. Software maker

Temat: jdbc i oracle - oracle 12505 error - a sid istnieje...

Daniel M.:
Krzysztof Torenc:
no ja tez uzywam oracle.jdbc.OracleDriver,
ale głównie dlatego, że z oracle.jdbc.driver.OracleDriver napotykałem nielogiczne problemy.

Bo pakiet oracle.jdbc.driver jest deprecated od wersji 9i.
całkiem możliwe, ze jest zdeprecetadowany :)
Nie sprawdzam - wierzę na słowo.
Zszedłem z pakietu orale.jdbc.driver dawno temu i nauczony doświadczeniem omijam go skutecznie.
Nie wiem co to za OS uindoza ale na WinXP nie ma znaczenia czy podajesz localhost czy 127.0.0.1,
to zależy od tego co masz w hostsach :)

...i podejrzewam że kolega Andrzej ma tam namerdane odrobinkę ;)
(chociaż hostsy to mapowanie hostów a nie IP, zatem co może namieszać w odbiorze IPka to pytanie do ludzi którym bliższy sercu jest hardware i administracja tego syfu ;) )

względem jarów z driverami - można je znaleść w zaintalowanym ORA,
zwykle stamtąd pobieram i z takowym pracuję (w różnych miejscach uzywam różnych środowisk produkcyjnych i nie zawsze mam dostęp do swoich zasobów) i zasadniczo każdy driver jest pracujący - chociaż niektóre mają tendencję do nietypowych zachowań w coniektórych sytuacjach ;))) Jestem raczej użytkownikiem oraclea a nie expertem od niego (od tego są artyści bazodanowcy), dla mnie to - ot, jeszcze jedna baza danych...Krzysztof Torenc edytował(a) ten post dnia 18.01.09 o godzinie 00:04
Daniel Mroczka

Daniel Mroczka Experienced Java
Developer

Temat: jdbc i oracle - oracle 12505 error - a sid istnieje...

Bo pakiet oracle.jdbc.driver jest deprecated od wersji 9i.
całkiem możliwe, ze jest zdeprecetadowany :)
Nie sprawdzam - wierzę na słowo.

np. tu:
http://www.oracle.com/technology/software/tech/java/sq... (zaraz po: New Package oracle.jdbc, mniej więcej w połowie)

Oczywiście nie twierdzę, że to musi być przyczyną takiego zachowania.Daniel M. edytował(a) ten post dnia 18.01.09 o godzinie 00:11
Krzysztof T.

Krzysztof T. Software maker

Temat: jdbc i oracle - oracle 12505 error - a sid istnieje...

Daniel M.:
Bo pakiet oracle.jdbc.driver jest deprecated od wersji 9i.
całkiem możliwe, ze jest zdeprecetadowany :)
Nie sprawdzam - wierzę na słowo.

np. tu:
http://www.oracle.com/technology/software/tech/java/sq... (zaraz po: New Package oracle.jdbc, mniej więcej w połowie)

Oczywiście nie twierdzę, że to musi być przyczyną takiego zachowania.Daniel M. edytował(a) ten post dnia 18.01.09 o godzinie 00:11

no jest deprecated wg tego linku :) Masz rację (słusznie zawierzyłem na słowo jak widac)

az zmotywowałes mnie by się też dobrać do drivera z feralnego pakietu w moim odbc14.jar - co tez uczyniłem, i tam klas nikt nie otagował deprecatem :|

Ja skolei nie pamiętam od jakiej wersji ora nie uzywam tego pakietu, jednak zapewne od ora9, bo wcześniej był classes12 u mnie w uzyciu a z nim problemów nie kojarzę. Dawne czasy.



Wyślij zaproszenie do