Questions & Answers

rl-anho
I'm new here

Fehlende Datenbank Konnektoren

Hallo,

wir haben eine lokale FirstSpirit5 Installation eingerichtet und wollen eine MSSQL Datenverbindung aufbauen.

Wรคhle ich aber in der Verbindungskonfiguration bei Layer einen der MSSQL-Server aus erscheint die Meldung "Class 'com.microsoft.sqlserver.jdbc.SQLServerDriver' not found".

Die Konnektoren der anderen DBMS fehlen auch. Das Testprojekt, welches bei der Installation mitinstalliert wurde funktioniert.

Hier die Ausfรผhrliche Fehlermeldung:

Client Version: 5.0.114.54807

Java Version: 1.6.0_30 Sun Microsystems Inc.

FSVersion=5.0.114.54807#3209;JDK=1.6.0_30 64bit Sun Microsystems Inc.;OS=Windows Server 2008 R2 6.1 amd64;Date=19.12.2012 15:26:56

java.sql.SQLException: Class 'com.microsoft.sqlserver.jdbc.SQLServerDriver' not found!

          at de.espirit.firstspirit.content.ContentManagerImpl.testLayerProperties(ContentManagerImpl.java:525)

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

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

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

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

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

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

          at de.espirit.firstspirit.server.io.handler.CompactCall.handle(CompactCall.java:67)

          at de.espirit.firstspirit.server.io.ManagerCallWorker.run(ManagerCallWorker.java:108)

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

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

Sind bestimmte Module notwendig um externe Datenbanksysteme verwenden zu kรถnnen?

Vielen Danke vorab.

Andreas

0 Kudos
5 Replies
maaroufi
I'm new here

Hallo Andreas,

fรผr die Datenbank-Konnektoren muss ein eigenes Modul gebaut werden, welches die entsprechenden jars fรผr die Treiberdateien enthรคlt z.b. mysql-connector-java-VERSION-bin.jar.

In Ihrem Fall mรผssten Sie die Datei sqljdbc.jar bzw. sqljdbc4 in ein Modul packen, vorher die module.xml entsprechend konfigurieren und danach das Modul installieren.

Fรผr den Bau des Moduls verweise ich auf das Entwicklerhandbuch fรผr Komponenten, Kapitel 3.15 Komponentenlose Modul-Implementierung (JDBC-Connector-Modul). Hier wird der Bau des MySQL-Connector-Moduls schrittweise beschrieben.

Desweiteren finden Sie auch in der Dokumentation fรผr Administratoren (ab Kapitel 4.8.2.1 Treiber-Dateien) hilfreiche Informationen. Hier ist auch ein Beispiel fรผr Postgres gegeben.

Es besteht auch die Mรถglichkeit, die entsprechden jar-Dateien, die die Treiber enthalten in das /shared/lib - Verzeichnis von FirstSpirit zu kopieren. Dies ist allerdings nicht der empfohlene Weg und hat einige Nachteile, die auch in den Dokumentationen beschrieben sind.

Der empfohlene Weg ist also in jedem Fall der Bau eines Connector-Moduls.

Freundliche GrรผรŸe

Ismail


0 Kudos

Hallo Ismail,

vielen Dank fรผr die schnelle Antwort. Ich werde es so versuchen.

Viele GrรผรŸe

Andreas

0 Kudos
smile-me
I'm new here

Gibt es ein fertiges Beispiel-Modul fรผr die Anbindung eines FirstSpirit 5 Servers an eine MSSQL 2008 Datenbank?

Im Dialog der Datenbankeigenschaften kann man unter "Verbindungskonfiguration" den MSSQL Server 2005 Layer wรคhlen, erhรคlt dann aber als Fehlermeldung:

Fehler:Class 'com.microsoft.sqlserver.jdbc.SQLServerDriver' not found!

0 Kudos

Sie oben (Posting von Ismail). Aus lizenztechnischen Grรผnden ist es e-spirit nicht erlaubt, den MSSQL Treiber auszuliefern.

Peter
0 Kudos

OK, verstanden Smiley Happy

Dann basteln wir ein neues module.xml. Die aktuellen .jar Files (sqljdbc4.jar / sqljdbc.jar) habe ich bereits.

<!DOCTYPE module SYSTEM "../lib/module.dtd">

<module>

    <name>MSSQL_JDBC_Driver_4_0</name>

    <version>4.0</version>

    <description>JDBC Driver for SQL Server databases</description>

    <vendor>Microsoft</vendor>

    <components>

   <public>

      <name>MSSQL_JDBC_Driver_4_0</name>

      <description>Provides the JDBC Driver for the FirstSpirit Server</description>

      <class>com.microsoft.sqlserver.jdbc.SQLServerDriver</class>

      <resources>

         <resource scope="module">lib/sqljdbc4.jar</resource>

      </resources>

   </public>

    </components>

    <configuration>

        <layerclass>de.espirit.or.impl.mssql.MSSQL2005Layer</layerclass>

           <DRIVER>com.microsoft.sqlserver.jdbc.SQLServerDriver</DRIVER>

    </configuration>

</module>

Der Connect-String schaut in etwa so aus:

jdbc.DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver

jdbc.PASSWORD=passwort

jdbc.URL=jdbc:sqlserver://dbserver.domain.com:1433;databasename=database_xy;selectMethod=cursor
jdbc.USER=sa

jdbc.layerclass=de.espirit.or.impl.mssql.MSSQL2005Layer

module=MSSQL_JDBC_Driver_4_0

0 Kudos

Type a product name