PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Oracle via Thin-Driver: Wie lokal verbinden?


aths
2004-06-12, 19:45:58
Im Beispielcode steht:conn = DriverManager.getConnection "jdbc:oracle:thin:@insn104a.idc.oracle.com:1521:ora9idb", "ARNE", "test");Login-Name und PW habe ich schon geändert. Aber "insn104a.idc.oracle.com:1521:ora9idb" ist natürlich falsch. Was muss stattdessen dahin?

D-Swat
2004-06-12, 20:51:19
und auf der Oracle HP steht die Lösung

*. To open a connection using thin driver :
DriverManager.getConnection("jdbc:oracle:thin:@<mc-name>:<port-no>:<sid>",
"scott", "tiger");

OR

DriverManager.getConnection("jdbc:oracle:thin:@(description=(address=(host=<mc-name>)(protocol=tcp)(port=<port-no>))(connect_data=(sid=<sid>)))",
"scott","tiger");

nachzulesen hier (http://otn.oracle.com/sample_code/tech/java/sqlj_jdbc/htdocs/templates.htm)

aths
2004-06-12, 21:25:47
mc-name und port-no? Sowas hab ich bei einer lokalen Installation doch gar nicht?

mrdigital
2004-06-12, 21:31:53
für den Server sieht eine lokale Verbindung wie eine Netzwerkverbindung aus, es wird jede Verbindung durch den Netzwerkstack geschoben, auch bei einer lokalen Verwendung. Hostname ist dann halt "localhost" und der Port ist der normale Serverport.

aths
2004-06-13, 00:16:50
Jetzt habe ich noch das Problem, dass ich mich als SYSDBA anmelden möchte. (Sonst kennt er meinen Account nicht.) Wie sage ich das dem JDBC-Treiber?

mrdigital
2004-06-13, 12:32:09
nun hast du mich erwischt ;) Ich hab dir geantwortet ohne wirklich was vom Thema zu verstehen (ich weiss was JDBC ist, hab aber noch nie was damit gemacht *g*).
Aber ich versuch mal weiter zu raten:
Hast du den Username "Scott" durch "aths" erstetzt und "Tiger" durch dein Kennwort? Gibts den User "aths" in der DB und hat der auch die ausreichenden Rechte?
Ich weiss, sehr allegemeine Hinweise, aber das hab ich davon, wenn ich mit Halbwissen mitquake ;)

aths
2004-06-13, 13:23:39
Original geschrieben von mrdigital
nun hast du mich erwischt ;) Ich hab dir geantwortet ohne wirklich was vom Thema zu verstehen (ich weiss was JDBC ist, hab aber noch nie was damit gemacht *g*).
Aber ich versuch mal weiter zu raten:
Hast du den Username "Scott" durch "aths" erstetzt und "Tiger" durch dein Kennwort?So ist es. Als Rechner habe ich die lokale IP genommen und als SID, was ich bei der Installation als SID wählte (fantasielos "aths" :))
Original geschrieben von mrdigital
Gibts den User "aths" in der DB und hat der auch die ausreichenden Rechte?Ich habe ausreichend Rechte – da ich SYSDBA (soll wohl System-DB-Admin heißen) bin. (Der User ist ARNE, nicht aths :)) Dass ich als SYSDBA reinwill, muss ich in Oracle auch direkt angeben, sonst verweigert er den Login. Vermutlich muss ich das auch bei der Verbindung via JDBC sagen – im Moment lässt der mich nicht rein.

Aqualon
2004-06-13, 22:51:30
Das geht mit der Benutzung von properties:


Properties props = new Properties();
props.put("user", "scott");
props.put("password", "tiger");
props.put("internal_logon", "sysoper");
Connection conn = DriverManager.getConnection (url, props);


Quelle: http://otn.oracle.com/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm#05_05

Aqua