# JDBC



## MichaelKl (3. Mrz 2010)

Wie kann ich herausfinden welcher JDBC Treiber installiert ist. Benötige ihn im Zusammenhang mit einem MS SQL Server 2008

Benötige ihn für einen Apache Tomcat Dienst.

Verwende Windows 7 64 Bit.

###
Die aktuelle Version (http://www.microsoft.com/downloads/...FamilyID=99b21b65-e98f-4a61-b811-19912601fdc9) habe ich bereits in den "Shared\lib" Ordner im Apache Tomcat rein kopiert. (c:\Apache Software Foundation\Tomcat 6.0\shared\lib\)

Vielen Dank


----------



## ARadauer (3. Mrz 2010)

der müsste eigentlich passen... bist du sicher, dass er auch geladen wird?

bzw wo ist das problem?


----------



## Atze (3. Mrz 2010)

wenn du die aktuelle version (ich glaub das war unter deinem link die version 2.0) in den tomcat geworfen hast, weißt du doch, welche version es ist!? oder versteh ich die frage nicht?


----------



## MichaelKl (3. Mrz 2010)

Problem 1: Muss zusätzlich noch Einstellungen vorgenommen werden (Umgebungsvariablen o.Ä. setzen)
Problem 2: Ich muss sicher sein, dass der neue JDBC Treiber installiert ist


----------



## Atze (3. Mrz 2010)

zu 1: ich denke umgebungsvaiablen haben nichts mit dem jdbc treiber zu tun. da reichen wohl JAVA_HOME und TOMCAT_HOME.
zu 2: der treiber wird nicht installiert, es reicht, wenn du ihn im tomcat ablegst. in shared/lib können ihn alle anwendungen nutzen.
du musst ihn in der anwendung nur mit


```
Class.forName(...);
```

in deiner anwendung instanzieren


----------



## homer65 (3. Mrz 2010)

Ich verwende folgenden Code:

```
mysql ms = new mysql();
		int rc = ms.Connect();
		if (rc == 0)
		{
			DatabaseMetaData dbmd = ms.getDBMD();
			if (dbmd != null)
			{
				try
				{
					String a1 = dbmd.getDatabaseProductName();
					String a2 = dbmd.getDatabaseProductVersion();
					String b1 = dbmd.getDriverName();
					String b2 = dbmd.getDriverVersion();
					Protokol.write("Info: " + a1 + " " + a2);
					Protokol.write("Info: " + b1 + " " + b2);
				}
				catch (SQLException e)
				{
					
				}
			}
		}
```


----------



## Atze (3. Mrz 2010)

@homer65:
ich meins ja nicht böse, aber was hat dein post mit dem aktuellen problem zu tun?


----------



## fastjack (3. Mrz 2010)

Du mußt einfach alle Tomcat-Lib Ordner nach mssql-Treiberjars durchsuchen, Deine Webanwendung dabei nicht vergessen


----------



## homer65 (3. Mrz 2010)

Atze hat gesagt.:


> @homer65:
> ich meins ja nicht böse, aber was hat dein post mit dem aktuellen problem zu tun?



Na der Thread Ersteller wollte wissen, welchen JDBC Treiber er hatt. Diese Information bekommt er mittels des von mir geposten Codes.
Er beschafft sich ein DatabaseMetaData Objekt und ruft dann die Methoden getDriverName() und getDriverVersion() auf.
Bei mir liefert das z.B.: MySQL-AB JDBC Driver mysql-connector-java-5.1.6 ( Revision: ${svn.Revision} )


----------



## Atze (3. Mrz 2010)

ach so, er wollte das zur laufzeit wissen. ok, falsch verstanden.


----------



## homer65 (3. Mrz 2010)

Atze hat gesagt.:


> ach so, er wollte das zur laufzeit wissen. ok, falsch verstanden.



Das war meine Interpretation der Frage. Aber letztlich weiss es nur der Threadersteller. Mal gucken was er dazu sagt.


----------



## MichaelKl (3. Mrz 2010)

danke für die vielen Antworten trotz der unpräzisesn Fragestellung.

in dem Fall meine ich es nicht zur Laufzeit! Ich nutze ein Dienst und keine eigene Applikation.

ist das richtig, wenn im Tomcat lib Ordner der neueste JDBC Treiber liegt (zur Zeit also 3.0) reicht das aus? Keine weiteren installationen oder Einstellungen notwendig?


----------



## Atze (3. Mrz 2010)

installationen nicht, nein. durch die ablage der jar im tomcat lilegt der treiber auch im classpath

einstellungen in dem sinne, wie ich schon sagte, dass du im code den treiber über den classloader anmelden musst


```
Class.forName("com.mysql.jdbc.Driver");
```

wäre der fall für mysql. für mssql sieht das sicher ähnlich aus, nur der übergebene string wird leicht anders sein, musst du mal goolgle nutzen.


----------



## andiv (3. Mrz 2010)

```
"com.microsoft.sqlserver.jdbc.SQLServerDriver"
```

müsste das sein


----------

