ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
897
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    JumpFrog ist offline Mitglied Bronze
    Registriert seit
    Jun 2008
    Beiträge
    26
    hey leute,

    ich hasse es alleine stehen gelassen zu werden und dann einem noch aufgezwungen wird mit spezieller Software zu arbeiten. Naja ok...

    also wie müssen den Microsoft SQLServer nutzen darin befinden, dank der super tollen Import funktion, die Tabellen die gebracht werden und nun sollen wir ein JAVA programm schreiben um auf all die Tabellen + inhalte zuzugreifen.

    zunächst mal der einfache quelltext:

    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
    
     
    public static void main(String[] args) {
            // TODO Auto-generated method stub
            try {
                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
            Connection con = null;
            try {
                con = DriverManager.getConnection(
                        "jdbc:sqlserver://<url>:1234",
                        "sa", "sa");
                Statement stmt = con.createStatement();
     
                ResultSet rs = stmt.executeQuery("SELECT * FROM Time");
     
                while (rs.next()) {
                    System.out.printf("%s,%s %s%n", rs.getString(1));
                }
                rs.close();
                stmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                if (con != null)
                    try {
                        con.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
            }
        }

    Mit hilfe von Squirrl kann ich ohne Probleme auf die Datenbank namens Stundenplan zugreifen und die tabellen manipulieren. Somit sollte es kein rechtliches Problem sein. Eher etwas im Quellcode. Nur leider weiß ich nicht was, da jeder etwas anderes schreibt...

    Und zu guter letzt noch Die Fehlermeldung:

    com.microsoft.sqlserver.jdbc.SQLServerException: Ungültiger Objektname 'Time'.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1493)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:775)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:676)
    at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:179)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:154)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(SQLServerStatement.java:611)
    at de.fh.zwickau.Main.main(Main.java:40)
    vielleicht kann mir jemand sagen was ich falsch mache. Ich jedenfalls bekomme es nur durch Stundenlanges Probieren raus, und bei nun fast 30 Grad im Zimmer macht das auf dauer keinen Spaß mehr...

    Danke für eure hilfe.

    LG Jumpfrog
     

  2. #2
    Avatar von sheel
    sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    6.724
    Hi

    ich glaube, time ist ein reservierter Ausdruck (weil schon anders verwendet)
    und kann/sollte nicht als Tabellenname verwendet werden.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    JumpFrog ist offline Mitglied Bronze
    Registriert seit
    Jun 2008
    Beiträge
    26
    Danke für deine Antwort, aber daran scheint es nicht zu liegen.

    sowohl:

    com.microsoft.sqlserver.jdbc.SQLServerException: Ungültiger Objektname 'db0.Zyklus'.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1493)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:775)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:676)
    at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:179)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:154)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(SQLServerStatement.java:611)
    at de.fh.zwickau.Main.main(Main.java:40)
    als auch:

    com.microsoft.sqlserver.jdbc.SQLServerException: Ungültiger Objektname 'Zyklus'.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1493)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:775)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:676)
    at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:179)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:154)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(SQLServerStatement.java:611)
    at de.fh.zwickau.Main.main(Main.java:40)
    habe ich bekommen wenn ich auf die Tabelle Zyklus zugreifen will und ich glaube nicht das Zyklus auch noch ein reservierter Namen ist
     

  4. #4
    Avatar von sheel
    sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    6.724
    Stimmt, Zyklus ist nicht reserviert.

    Nächster Versuch:
    Der Datenbankname ist nicht angegeben.

    jdbc:sqlserver://<url>:1234;databaseName=hiereinsetzen
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  5. #5
    JumpFrog ist offline Mitglied Bronze
    Registriert seit
    Jun 2008
    Beiträge
    26
    Code :
    1
    2
    3
    
    con = DriverManager.getConnection(
                        "jdbc:sqlserver://<url>:1234;databaseName=Stundenplan",
                        "sa", "sa");

    Es kommt die selbe Exception... :-/

    Quelltext mäßig schätze ich das alles richtig ist... liegt es vielleicht an der Rechte Vergabe... wobei jeder user mit dem ich zugreifen will mind. dbowner ist...
     

  6. #6
    tuney ist offline Grünschnabel
    Registriert seit
    Nov 2007
    Beiträge
    4
    Hallo,

    das Problem hatte ich auchmal (bei mir lag es, dass ich das DB Schema nicht richtig angegeben hatte). An den Rechten sollte es nicht liegen. Denn er hat eine Verbindung aufgebaut und führt die SQL aus. So wie das dort oben steht, findet er das Objekt nicht. Das kann bspw. eine Tabelle sein. Bist du sicher das deine Verbindungsparameter bzgl. IP und DB Schema stimmen? Tippfehler?

    Der nächste Schritt der mir einfällt, wäre dass du dir mal die Metadaten ausgibst, ob du überhaupt auf der richtigen DB bist.

    bye
     

  7. #7
    JumpFrog ist offline Mitglied Bronze
    Registriert seit
    Jun 2008
    Beiträge
    26
    Hey tuney,

    Ich habe keine Verbindungsparameter angegeben gehabt außer das eine mal hier im Forum. als StandartDB für den Benutzer sollte ja auch die "Stundenplan" DB eingestellt sein. Somit macht es eigentlich die angabe von DB wie es oben zu sehen ist überflüßig. (zumindest aus meiner Logik heraus)

    Ich habe gerade versucht mir Metadaten ausgeben zu lassen, aber schlau werde ich aus den ausgaben auch nicht. Kannst du mir vielleicht sagen was ich da schreiben müsste?

    LG Jumpfrog

    EDIT: OK, Problem erledigt... an den Tabellen wurde durch den blöden microsoft importer ein $ am ende rangehangen, welchen ich immer gekonnt übersehen habe... :-/ Danke für eure Hilfe
    Geändert von JumpFrog (30.04.12 um 13:33 Uhr)
     

  8. #8
    tuney ist offline Grünschnabel
    Registriert seit
    Nov 2007
    Beiträge
    4
    Hallo Jumpfrog,

    prima das sich das erledigt hat. Vielleicht noch als Tipp. Für MS DBs gibt es das SQL Server Database Management Studio. Dort hat man m.E. den besten Überblick (Welche Instanzen am Laufen sind und wo welche Table zu finden ist). Bei mir damals war die DB allerdings in einem gesicherten Netzwerk, so dass ich von außen nicht darauf zugreifen konnte mit dem Tool. Also hab ich den Netzwerkadmin gefragt ob er mir die Informationen nochmal zuschicken kann. Dann hatte ich gesehen, dass ich auf der falschen DB war. Sowas kosten immer verdammt viel Nerven & Zeit.

    bye
     

Ähnliche Themen

  1. Access Anbindung
    Von Winner im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 26.11.07, 14:39
  2. Tomcat und DB Anbindung
    Von AlexD1979 im Forum Java
    Antworten: 3
    Letzter Beitrag: 19.10.05, 08:10
  3. C++ SQL anbindung - wie?
    Von Jaay im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 20.01.05, 11:16
  4. Hannover und Anbindung
    Von fungo im Forum Internet, DSL & Flatrate
    Antworten: 3
    Letzter Beitrag: 26.04.02, 11:20