suche Erstanschub für DB-Zugriff

famco

Aktives Mitglied
Hallo,
als Umsteiger lerne ich gerade Java und möchte auf eine bestehende MS-SQL-Server Datenbank zugreifen. Habe mich durch diverse Tutorials gewühlt und bin jetzt völlig durcheinander bezüglich verschiedener Treibertypen, Treiber und wohin sie geladen werden müssen ...
Es wäre supernett, wenn mir jemand helfen könnte. Ideal wäre ein 10++ Zeiler, der das Anmelden an der Datenbank und den lesenden Zugriff auf eine beliebige Tabelle zeigt. Und natürlich, welchen Treiber (genau) man wohin (genau) kopieren muss.
Nachtrag: SQL beherrsche ich, mir fehlt nur das Knowhow von Java aus auf die DB zu kommen und ein simples Select auszuführen ...

Vielen Dank
Famco
 
Zuletzt bearbeitet:
als Umsteiger lerne ich gerade Java und möchte auf eine bestehende MS-SQL-Server Datenbank zugreifen
Erfahrungsgemäss ist es nicht leicht, sich als Einsteiger/Umsteiger gleich auf fortgeschrittene Themen zu stürzen, und dazu gehört JDBC nunmal.

Generelle Tipps:
Verstehe auf jedenfall was der Classpath ist und wozu man ihn braucht. Suche dir einen JDBC Treiber für den MS SQL Server aus (jTDS oder den MS JDBC Treiber), lies die Doku (keine schlechten Blogs), da steht dann alles drinnen.
 
Erst einmal Danke für die Antworten. Ich habe unter Berücksichtigung eurer Hinweise weiter geforscht und folgenden Code geschrieben:
Java:
package msdbtest;

import java.sql.Connection;
import java.sql.DriverManager;
public class Main {

    public static void main(String[] args) {
        try {
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
            Connection conn = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/master", "sa", "satest");
            System.out.println("connected");
        } catch (Exception e) {
            //       e.printStackTrace();
            System.out.println(e.getMessage());
        }
    }
}
Die Anmeldung funktioniert leider nicht, der Treiber meldet "Connection refused: connect"
SQL-State ist "08S01"
Die Anmeldeinformationen sind garantiert korrekt, denn mit meiner alten Entwicklingsumgebung kann ich mich mit diesem User und diesem Kennwort korrekt anmelden und mit der DB arbeiten.
Hat jemand einen Tipp für mich ?
 
Ist denn der Port offen? (Deine alte IDE nutzt wohl kein JDBC nehme ich an)

Kann man schnell testen mit telnet:
[c]telnet <SERVER_IP> 1433[/c]
Wenn es da auch keine Verbindung gibt, muss der Port (1433) erst aktiviert werden.
 
Danke, es kann keine Verbindung hergestellt werden. Aber die DB liegt auf meinem Rechner (localhost). Muss ich da auch einen Port öffnen ? und Wenn ja, wie ?

Danke
 
Danke, hab selbst schon gegooglet. Das Probelm ist, dass die bei mir laufende MSDE (Microsoft-Desktop-Engine) vom Netzwerk her problemlos erreichbar ist. Das gleiche gilt auch für eine MS Express 2008 Engine.
Administrationstools für den M$SQL-Server habe ich nicht ($$$ :-( ). Wenn ich mit meinem Codeschnipsel einen nicht existierenden Server angebe erhalte ich die NAchricht "unkonwn server host name 'testhost'. Also scheint die generelle "suche" nach dem Server zu funktionieren ...
 
k.A. was du meinst.
Du musst deine SQL Server Instanz so konfigurieren, dass der Port 1433 aktiviert wird, wie oben beschrieben.
Das der Port nicht offen ist hast du ja per Telnet festgestellt, richtig?
 
habe es gefunden !!! Der installierte Server ist eine sogenannte benamte Instanz. Wenn ich den Connectstring um ;instance=xxxxx erweitere geht es problemlos !!! Telnet geht dann allerdings auch nicht ...

Danke
 

Zurück
Oben