# MSSQL JDTS JTL Datenabnk



## do1emu (16. Dez 2010)

Hallo ihr fleißigen Programmierer. 

Ich als totaler MySQL und PHP Freak muss hier nun mit JAVA und MSSQL rumplagen. Folgendes Problem. 

Ich muss gewisse Daten aus einer JTL-Wawi Datenbank auswerten. Das ganze sollte wohl mit JAVA am sinnvollsten sein.

Ich bin auf diese Seite gestoßen: 
Java Tips - How to connect Microsoft SQL Server using JDBC

Diesen Code kopiert, jdts eingebunden aber ich bekomme immer fehlermeldung:


```
java.sql.SQLException: Network error IOException: Connection refused: connect
	at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:410)
	at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
	at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at DB.dbConnect(TestConnection.java:20)
	at TestConnection.main(TestConnection.java:8)
Caused by: java.net.ConnectException: Connection refused: connect
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(Unknown Source)
	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.java:307)
	at net.sourceforge.jtds.jdbc.SharedSocket.<init>(SharedSocket.java:257)
	at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:311)
	... 6 more
```

Leider kenne ich kein "phpmyadmin" für MSSQL um zu sehen wie die Datenbank überhaupt heisst?? Laut JTL heisst sie JTLWAWI oder doch eazybusiness???

Ist 1433 überhaupt richtig als Port. Mir fehlen da noch einige Informationen über MSSQL. Ich habe im Inet gelesen, dass man z.B. über Telnet ne Verbindung aufbauen kann über cmd Befehl "telnet localhost 1433" Solange dort ne Fehlermeldung kommt kann man es vergessen. Genau das Passiert bei mir. 

Verbindungsaufbau zu localhost...Es konnte keine Verbindung mit dem Host hergest
ellt werden, auf Port 1433: Verbindungsfehler

Wie kann ich nun herausfinden, was ich genau im connectstring für jdts angeben muss??? bisher sieht der so aus:



> db.dbConnect("jdbc:jtds:sqlserver://localhost:1433","sa","sa04jT14");
> db.dbConnect("jdbc:jtds:sqlserver://localhost/JTLWAWI:1433","sa","sa04jT14");
> db.dbConnect("jdbc:jtds:sqlserver://localhost/eazybusiness:1433","sa","sa04jT14");



Folgender Befehl führt auch zum Erfolg: 



> osql -S (local)\JTLWAWI -U sa -P sa04jT14 -d master



Mit Erfolg bezeichne ich, dass der Kommandoprompt 1> angezeigt wird

Danke für eure Mühen


----------



## fastjack (16. Dez 2010)

Nimm doch das tolle MSSQL-Server Management Tool oder so, das ist so ähnlich wie phpadmin, nur für MSSQL halt.


----------



## do1emu (16. Dez 2010)

ich habe diesen Namen schonmal gehört und auch danach gesucht und runtergeladen nur leider kommt bei der installation immer diese Meldung von wegen bekannte Kompatibilitätsprobleme (ich nutze win7 x64)


----------



## maki (16. Dez 2010)

Musst den Port erst einschalten im MS-SQL Server: How to: Enable Remote Connections on SQL Server

Can't Install Microsoft SQL Server 2008 Management Studio Express | {Programming} & Life


----------



## fastjack (16. Dez 2010)

So wie ich mich erinnere ist JTDS eigentlich "nur" eine open source Fassung des MSSQL-Treibers für Java, ich glaube sogar die einzige. Ob Du jetzt die originalen Treiber von MS nimmst oder JTDS dürfte eigentlich egal sein, es hat nix mit der Datenbank direkt zu tun.


----------



## do1emu (16. Dez 2010)

hallo und danke für eure Antworten

@maki:

heisst dass ich müsste den Port in der Windows-Firewall freigen?? Das wäre unnötig, da die aus ist 
Ehrlich gesagt bin ich etwas verwirrt. Denn So wie das System nach einer frischen Installation (JTL und MSSQL) ist, muss doch ob nun Java oder PHP auf die DB zugreifen können genau wie JTL das macht!?!?!? 

@fastjack

das denke ich auch. Im Internet heisst es auch der jdts sei besser  Aber ich habe halt das Probleme, dass ich die Verbindung einfach nicht hinbekommen weil ich mir nicht sicher bin wie genau der Connectstring aussehen muss


----------



## maki (16. Dez 2010)

> eisst dass ich müsste den Port in der Windows-Firewall freigen?? Das wäre unnötig, da die aus ist


Nein, das heisst: Der MS-SQL muss erstmal Verbindungen über den Port 1433 annehmen, was er per default nicht macht., zB. nach einer frischen Installation.


----------



## do1emu (16. Dez 2010)

heyyyyy danke!!!!! Das wars 

hier das ganze nochmal bildlich

Es konnte keine TCP/IP-Verbindung mit dem Host hergestellt werden

vielen Dank maki :toll:


----------

