Aller au contenu principal

Verwendung einer tnsnames.ora

Commentaires

9 commentaires

  • Zendesk API User
    Author: Peter_Jodeleit - 5/7/2015 15:32

    Wie ist denn der JDBC-Treiber in FirstSpirit eingebunden? Als Modul? Hat das Modul alle Rechte?

    0
  • Zendesk API User
    Author: aVogt - 5/8/2015 7:12

    Fehler gefunden:  Es darf nur

    wrapper.java.additional.8=-Doracle.net.tns_admin=D:/FsSabVz/conf/

    eingetragen werden. tnsnames.ora darf nicht mit in der Angabe stehen.

    Eine Datei namens tnsnames.ora muss sich natürlich in dem angegebenen Verzeichnis befinden.

    Dann funktioniert es auch.

    0
  • Zendesk API User
    Author: Peter_Jodeleit - 5/8/2015 13:55

    Danke für die Rückmeldung. Ich kannte diese Art der Konfiguration bisher noch nicht. So ist die Konfiguration tatsächlich übersichtlicher und kann zentral geändert werden. Guter Tipp!

    0
  • Zendesk API User
    Author: tpilz - 7/28/2017 11:10

    Hallo Andreas, Hallo Peter,

    wir haben die gleiche Anforderung mit der Oracle DB und dem Failover/Loadbalancer Connection String.

    Leider ist es uns bisher nicht möglich gewesen diesen korrekt zu konfigurieren (FS 5.2.1002).
    Die GUI im Server Manager kommt damit nicht zurecht. Manuelles Eintragen in die fs-database.conf hat bisher auch nicht funktioniert.

    Meine Frage ist, wenn ich eine tnsnames.ora habe, wie muss dann die "normale" DB Verbindung (fs-database.conf) konfiguriert werden?
    Die jdbc.URL darf ja nicht leer sein.

    Viele Grüße

    Thomas

    0
  • Zendesk API User
    Author: aVogt - 7/31/2017 6:29

    Hallo Thomas,

    ich habe di notwendigen Schritte mal in einem Dokument kurz zusammengefasst. Hoffe, dass es hilt.

    Grüße

    Andreas

    0
  • Zendesk API User
    Author: tpilz - 7/31/2017 13:17

    Hallo Andreas,

    vielen Dank für deine schnelle Reaktion und die Anleitung die du geschrieben hast.

    Leider bekommen wir es aktuell noch nicht korrekt konfiguriert. Es sieht so aus als ob die tnsnames.ora gar nicht geladen wird.
    Beim Zugriff auf die DB bekommen wir dann eine unspezifische SQL Exception:

    INFO  31.07.2017 11:49:56.119 (de.espirit.or.impl.connection.ConnectionManagerFactory): Create a new Connection pool for ConnectionPoolId{jdbc:oracle:thin:@oracledb;schema=XXXX;user=XXXX;module=null}

    INFO  31.07.2017 11:49:56.134 (de.espirit.or.impl.connection.DBConnectionManager): Using default transaction isolation 'READ_COMMITTED'.

    INFO  31.07.2017 11:49:56.181 (de.espirit.or.impl.connection.DBConnectionManager): Driver: sun.misc.Launcher$AppClassLoader@1540e19d

    INFO  31.07.2017 11:49:56.181 (de.espirit.or.impl.connection.DBConnectionManager): Connection manager: sun.misc.Launcher$AppClassLoader@1540e19d

    INFO  31.07.2017 11:49:56.197 (de.espirit.or.impl.connection.DBConnectionManager): oracle.jdbc.OracleDriver: Major 12, minor 1, jdbc compliant = true

    ERROR 31.07.2017 11:49:56.322 (de.espirit.or.impl.connection.DBConnectionManager): SQL-Exception! jdbc:oracle:thin:/@XXXX

    FSVersion=5.2.1002.76101#5262;JDK=1.8.0_101 64bit Oracle Corporation;OS=Windows Server 2012 6.2 amd64;Date=31.07.2017 11:49:56

    java.sql.SQLRecoverableException: I/O-Fehler: SO Exception was generated

      at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:743)

      at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:666)

      at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)

      at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:566)

      at de.espirit.or.impl.connection.DBConnectionManager.createConnection(DBConnectionManager.java:344)

      at de.espirit.or.impl.connection.DBConnectionManager.access$700(DBConnectionManager.java:49)

      at de.espirit.or.impl.connection.DBConnectionManager$ConnectionHolder.getConnection(DBConnectionManager.java:622)

      at de.espirit.or.impl.connection.DBConnectionManager.init(DBConnectionManager.java:230)

      at de.espirit.or.impl.connection.ConnectionManagerFactory$DelegatingConnectionManager.init(ConnectionManagerFactory.java:167)

      at de.espirit.or.impl.connection.ConnectionManagerFactory.getConnectionManager(ConnectionManagerFactory.java:60)

      at de.espirit.or.impl.connection.ConnectionManagerFactory.getConnectionManager(ConnectionManagerFactory.java:42)

      at de.espirit.firstspirit.content.ContentManagerImpl.createSessionHandler(ContentManagerImpl.java:911)

      at de.espirit.firstspirit.content.ContentManagerImpl.access$000(ContentManagerImpl.java:137)

      at de.espirit.firstspirit.content.ContentManagerImpl$1.invoke(ContentManagerImpl.java:170)

      at de.espirit.firstspirit.content.ContentManagerImpl$1.invoke(ContentManagerImpl.java:167)

      at de.espirit.common.util.CachingFactory$ValueCreationStrategy$1.get(CachingFactory.java:51)

      at de.espirit.common.util.CachingFactory.get(CachingFactory.java:294)

      at de.espirit.firstspirit.content.ContentManagerImpl.getSessionHandler(ContentManagerImpl.java:868)

      at de.espirit.firstspirit.content.ContentManagerImpl.getLayerCaseMode(ContentManagerImpl.java:863)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

      at java.lang.reflect.Method.invoke(Method.java:498)

      at de.espirit.firstspirit.io.DefaultServerHandler.callManager(DefaultServerHandler.java:67)

      at de.espirit.firstspirit.server.io.handler.ManagerCall.doCall(ManagerCall.java:139)

      at de.espirit.firstspirit.server.io.handler.ManagerCall.handle(ManagerCall.java:85)

      at de.espirit.firstspirit.server.io.MessageWorker.run(MessageWorker.java:49)

      at de.espirit.firstspirit.server.ExecutionManagerImpl$RunnableWrapper.call(ExecutionManagerImpl.java:625)

      at de.espirit.firstspirit.server.ExecutionManagerImpl$ExtendedCallable.call(ExecutionManagerImpl.java:590)

      at java.util.concurrent.FutureTask.run(FutureTask.java:266)

      at de.espirit.common.util.BoundedExecutorService$RunnableWrapper.run(BoundedExecutorService.java:436)

      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

      at java.util.concurrent.FutureTask.run(FutureTask.java:266)

      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

      at java.lang.Thread.run(Thread.java:745)

      at de.espirit.common.util.SuspendableThread.run(SuspendableThread.java:56)

    Caused by: oracle.net.ns.NetException: SO Exception was generated

      at oracle.net.resolver.AddrResolution.resolveAddrTree(AddrResolution.java:736)

      at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:477)

      at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:595)

      at oracle.net.ns.NSProtocol.connect(NSProtocol.java:230)

      at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1452)

      at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:496)

      ... 36 more

    INFO  31.07.2017 11:49:56.322 (de.espirit.or.impl.connection.DBConnectionManager): Created connection pool with 5 initial connections, maximum pool size is 9

    Wir haben das FirstSpirit Logging auch mal auf DEBUG gestellt, leider bekommen wir da nicht mehr Informationen.

    Evtl. liegt es noch an der Oracle Version, wir benutzen ja Oracle 12c und einen entsprechenden 12er JDBC Treiber.

    Evtl. kann uns der Support weiterhelfen.

    Danke nochmals und viele Grüße

    Thomas

    0
  • Zendesk API User
    Author: tpilz - 8/1/2017 11:39

    Hallo Andreas,

    nur eine kurze Rückmeldung. Die Verbindungsprobleme lagen an einer falsch konfigurierten tnsnames.ora. Der Vorschlag aus der Anleitung hat bei uns leider so nicht funktioniert. Wir haben jetzt verschiedene Varianten der Konfiguration einfach mit dem Oracle SQL Developer getestet.
    Dort kann man die DB Verbindungen auch über eine tnsnames.ora einrichten (siehe auch Use tnsnames.ora in Oracle SQL Developer - Stack Overflow ) und schnell und einfach testen.

    Danke und viele Grüße

    Thomas

    0
  • Zendesk API User
    Author: aVogt - 8/2/2017 7:07

    Sorry, ich habe unsere Konfiguration mitgeschrieben. Bei uns funktioniert sie - die wurde von unseren Systemern so entwickelt. Wahrscheinlich haben wir wie an so vielen Stellen eine Sonderlocke.

    Hauptsache es funktioniert jetzt.

    Grüße

    Andreas

    0
  • Zendesk API User
    Author: tpilz - 8/2/2017 11:07

    Hallo Andreas,

    noch mal vielen Dank für die Anleitung und die Hilfe!

    Viele Grüße

    Thomas

    0

Vous devez vous connecter pour laisser un commentaire.