# JDBC Connect nur über SID fehlerfrei möglich



## GGK_01 (18. Dez 2013)

Hallo,

ich greife von einem Linux Server auf eine an einem anderen Host liegende Oracle DB  (11.2.0.4) zu.
Seit dem Update auf diese Oracle Version habe ich immer wieder Ausfälle beim DB Connect (jdbc6 für 11.2.04).

Verwende ich den Connect String mit dem Servicename:

```
String url = "jdbc:oracle:thin:@host:1521/Servicename";
```

dann erhalte ich bei den Tests ca. 50 % Programmabbrüche, 50 % laufen Problemlos durch.
Wenn ich das Programm von meinem Windows Client ausführe, laufen alle Tests ohne Fehler durch

Fehler:

```
java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:489)
        at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:553)
        at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:254)
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:528)
        at java.sql.DriverManager.getConnection(DriverManager.java:620)
        at java.sql.DriverManager.getConnection(DriverManager.java:200)
        at DB.select(mrtg_aim.java:36)
        at DB.main(mrtg_aim.java:84)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
        at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:439)
        at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:454)
        at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:693)
        at oracle.net.ns.NSProtocol.connect(NSProtocol.java:347)
        at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1140)
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:340)
        ... 13 more
Caused by: java.net.UnknownHostException: Host_XYZ
        at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
        at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:895)
        at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1274)
        at java.net.InetAddress.getAllByName0(InetAddress.java:1225)
        at java.net.InetAddress.getAllByName(InetAddress.java:1156)
        at java.net.InetAddress.getAllByName(InetAddress.java:1092)
        at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:117)
        at oracle.net.nt.ConnOption.connect(ConnOption.java:133)
        at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:405)
        ... 18 more
```

verwende ich die SID im Aufruf, dann läuft der Connect ohne Probleme:

```
String url = "jdbc:oracle:thin:@Host:1521:SID";
```

Kann mir hier jemand einen Hinweis geben?

Danke GGK


----------



## stg (18. Dez 2013)

Probier mal 

```
String url = "jdbc:oracle:thin:@//host:1521/Servicename";
```

Siehe auch hier:
Data Sources and URLs


----------



## GGK_01 (18. Dez 2013)

Hallo,

nein...leider bringt das auch nichts.

GGK


----------

