tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
17451
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Hier mal ein Beispiel wie man eine Datenbankverbindung mit der MS SQL Server 2000 Datenbank unter Verwendung des Open Source JDBC Treibers JTDS herstellt.


    1) jtdsXXXXX.jar herunterladen und in Classpath aufnehmen [1]:

    2) Neue Java Datei erstellen mit folgendem Inhalt:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    
     import java.sql.Connection;
     import java.sql.ResultSet;
     import java.sql.ResultSetMetaData;
     import java.sql.SQLException;
     import java.sql.Statement;
     
     import net.sourceforge.jtds.jdbcx.TdsDataSource;
     
     /*
      * Created on 08.06.2004
      * @author Thomas Darimont
      */
     public class Main {
     
        
        /*
         * In einem static Block laden wir den Datenbanktreiber 
         * Dieser Block wird ausgeführt wenn die Klasse geladen wird also noch
         * vor (!) der main Methode
        Nicht notwendig ... TdsDataSource DataSource laedt den Treiber fuer uns...
        static {
            try {
                Class.forName("net.sourceforge.jtds.jdbc.Driver");
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
      */ 
        public static void main(String[] args) {
            new Main().doDBStuff();
        }
     
        /**
         * 
         */
        private void doDBStuff() {
            
            //Unsere Testdatenquelle
            TdsDataSource datasource = new TdsDataSource();
            datasource.setDatabaseName("pubs"); 
            datasource.setServerName("localhost");
            datasource.setUser("Tom"); //Benutzername im SQL Server mit Zugriff auf pubs
            datasource.setPassword("javacore"); // Benutzerpasswort im SQL Server
            datasource.setPortNumber(1433); //Standard MS SQL Server 2000 Port
            datasource.setCharset("UTF-8"); //Mein aktuell beim MS SQL Server 2000 
                                            // eingestelltes Zeichen Encoding (Wichtig!)
            datasource.setDescription("JTDS Datasource");
     
            Connection connection = null;
            try {
                //Verbindung aufbauen
                connection = datasource.getConnection();
     
                if (connection == null)
                    throw new SQLException("con == null");
     
                Statement stmt = connection.createStatement();
     
                //Abfrage definieren
                ResultSet rs = stmt.executeQuery("SELECT * FROM stores");
     
                if (rs == null)
                    throw new SQLException("rs == null");
                
                ResultSetMetaData rsmd = rs.getMetaData();
                //Anzahl der Spalten ermitteln
                int clmCnt = rsmd.getColumnCount();
     
                //Datensätze ausgeben 
                while (rs.next()) {
                    for (int i = 1; i <= clmCnt; i++)
                        System.out.print(rs.getString(i) + " ");
                    System.out.println();
                }
                
                //Verbindung schließen
                connection.close();
     
            } catch (SQLException e) {
                e.printStackTrace();
            }
     
        }
     }

    3) Nach dem alles kompiliert ist könnt ihr das Programm starten.

    Ausgabe bei mir:

    Code :
    1
    2
    3
    4
    5
    6
    7
    
     
     6380 Eric the Read Books 788 Catamaugus Ave. Seattle WA 98056 
     7066 Barnum's 567 Pasadena Ave. Tustin CA 92789 
     7067 News & Brews 577 First St. Los Gatos CA 96745 
     7131 Doc-U-Mat: Quality Laundry and Books 24-A Avogadro Way Remulade WA 98014 
     7896 Fricative Bookshop 89 Madison St. Fremont CA 90019 
     8042 Bookbeat 679 Carson St. Portland OR 89076


    Hoffe, dass hilft euch weiter ... bei Problemen ist die FAQ [3] recht nützlich

    PS. Bei meinem Beispiel ist die MS SQL Server Authentifizierung auf "SQL Server Authentication"
    gestellt. JTDS Unterstützt aber laut [2] [Abschnitt Domain] auch die Windows Authentication Method.

    Links:

    Windows Authentifizierung über NTLM mit JTDS: http://www.tutorials.de/forum/java/2...t-so-ganz.html

    [1] http://sourceforge.net/project/showf...group_id=33291
    [2] http://jtds.sourceforge.net/faq.html#urlFormat
    [3] http://jtds.sourceforge.net/faq.html

    Gruß Tom
     

  2. #2
    stud3 stud3 ist offline Rookie
    Registriert seit
    Nov 2004
    Beiträge
    7
    hallo,

    da ich beinah an einem Projekt teilzunehmen bin, das um einen Zugriff auf eine zentrale Datenbank (in dem MS SQL Server) geht, würde mich sehr interessieren, ob Java gut mit MS SQL Server arbeiten kann, ich muß eine Datenbankeingabemaske (vielleicht mit Swing) erstellen, wo es möglich ist, auf eine zentrale Datenbank zuzugreifen. Jemand hat mir empfohlen es mit ASP zu erstellen, aber ich weiß ASP ist eine Serversprache, ob man damit eine Datenbankeingabemaske aubauen kann, weiß ich nicht... ich wäre Ihnen für einen Tipp dankbar. Grüße.
     

  3. #3
    torsch2711 torsch2711 ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Ort
    Hessen
    Beiträge
    310
    Zitat Zitat von stud3
    hallo,

    da ich beinah an einem Projekt teilzunehmen bin, das um einen Zugriff auf eine zentrale Datenbank (in dem MS SQL Server) geht, würde mich sehr interessieren, ob Java gut mit MS SQL Server arbeiten kann, ich muß eine Datenbankeingabemaske (vielleicht mit Swing) erstellen, wo es möglich ist, auf eine zentrale Datenbank zuzugreifen. Jemand hat mir empfohlen es mit ASP zu erstellen, aber ich weiß ASP ist eine Serversprache, ob man damit eine Datenbankeingabemaske aubauen kann, weiß ich nicht... ich wäre Ihnen für einen Tipp dankbar. Grüße.

    Also ASP ist das pendant zu JSP und PHP. Du baust dir eine Web-Eingabe maske unter Verwendung von Forms (HTML) und Sessions. Uns ASP verarbeitet diese Weiter und du kannst dynamisch deine Webseite damit zusammenbauen. Kommt immer darauf an, was Du machen willst.

    Wenn du eine Standalone Applikation erstellen willst, sprich keine Browser-gestützte Anwendung, liegst du damit schon ein wenig falsch, wenn du ASP benutzen willst. Dann kommen sprachen wie Java, C++, etc. in frage.

    Grüsse
    Torsten
     
    "There's nothing we have to fear, except Fear itself....."

  4. #4
    stud3 stud3 ist offline Rookie
    Registriert seit
    Nov 2004
    Beiträge
    7
    zuerst danke für die schnelle Antwort, ich würde es gerne in Java machen, da ich keine ASP Kenntnisse habe, ich gehe davon aus, dass Java mit jedem Typ von DBMS gut funktionieren kann : Oracle, MS SQL Server 2000, oder sogar mit einem Data Warehouse, hoffentlich irre ich mich nicht...
     

  5. #5
    torsch2711 torsch2711 ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Ort
    Hessen
    Beiträge
    310
    Zitat Zitat von stud3
    zuerst danke für die schnelle Antwort, ich würde es gerne in Java machen, da ich keine ASP Kenntnisse habe, ich gehe davon aus, dass Java mit jedem Typ von DBMS gut funktionieren kann : Oracle, MS SQL Server 2000, oder sogar mit einem Data Warehouse, hoffentlich irre ich mich nicht...

    Es funktioniert nur so gut, wie die Hersteller der DB's oder bzw. dritte, die Treiber für die DB's für java zur verfügung stellen. Wie gesagt eine Abhängigkeit ist immer da. Ist aber überall dasselbe Problem.
     
    "There's nothing we have to fear, except Fear itself....."

  6. #6
    jounnie jounnie ist offline Grünschnabel
    Registriert seit
    Mar 2007
    Beiträge
    4
    danke für den tollen Tipp, habe es gebraucht nun möchte ich aber meine Applikation weitergeben und brauche ja dafür die .jar Datei...ist sicherlich eine dumme Frage, ich programmiere ja noch nicht soo lange JAVA, aber wie könnte ich mein JAVAProgramm weitergeben? muss ich ein Setup dafür machen? irgendwie denk ich nicht....
    und wegen der .jar mit den MSSQL-Treiber. Wie gebe ich das mit?
    aber bitte nicht überanstrengen, ja?

    dankeschön schon Mal im Vorraus

    jonny
     

  7. #7
    -AbeAdapti- -AbeAdapti- ist offline Mitglied Bronze
    Registriert seit
    May 2004
    Beiträge
    32
    Hi,
    ist jemand bekannt ob jTDS auch mit MSSQL 2008 arbeitet?

    Habs mal oberflächlich getestet und das ging - spricht was dagegen?

    Gruß
     

  8. #8
    ickzon Tutorials.de Gastzugang
    Ich weiß, die Frage ist schön etwas älter Aber ja, jTDS arbeitet problemlos mit dem SQL Server 2008 zusammen und es spricht grundsätzlich nix dagegen, die zusammen zu nutzen. Allerdings unterstützt der Treiber keine der neuen Features des Servers, sondern behandelt den im Endeffekt genauso, wie einen 2005er Server. Solltest du tatsächlich irgendwelche Probleme damit haben, melde dich bitte im jTDS Forum auf SourceForge. Bisher gibt es zu diesem Thema praktisch noch kein Feedback (nur deshalb schreib ich hier eigentlich auch rein), ich konnte allerdings auch mit ausführlichen Tests und den paarhundert Unit-Tests von jTDS selbst bisher noch keine Probleme finden.

    Trallalli,
    momo
     

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 22.03.10, 13:18
  2. Zugriff mit JTDS auf MS Sql-Server
    Von MHertwig im Forum Java
    Antworten: 2
    Letzter Beitrag: 01.09.08, 19:58
  3. Beispiel für eine IBM DB2 JDBC Datenbankverbindung
    Von Thomas Darimont im Forum Java
    Antworten: 0
    Letzter Beitrag: 08.01.07, 23:39
  4. Antworten: 4
    Letzter Beitrag: 24.08.05, 10:33
  5. PHP Datenbankverbindung MS SQL Server
    Von patges im Forum PHP
    Antworten: 4
    Letzter Beitrag: 01.04.05, 10:35