ERLEDIGT
JA
JA
ANTWORTEN
7
7
ZUGRIFFE
581
581
EMPFEHLEN
-
28.04.12 16:15 #1
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:
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...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)
Danke für eure hilfe.
LG Jumpfrog
-
28.04.12 16:43 #2
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, ...?
-
28.04.12 16:55 #3
Mitglied Bronze
- Registriert seit
- Jun 2008
- Beiträge
- 26
Danke für deine Antwort, aber daran scheint es nicht zu liegen.
sowohl:
als auch: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)
habe ich bekommen wenn ich auf die Tabelle Zyklus zugreifen will und ich glaube nicht das Zyklus auch noch ein reservierter Namen istcom.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)
-
28.04.12 17:02 #4
Stimmt, Zyklus ist nicht reserviert.
Nächster Versuch:
Der Datenbankname ist nicht angegeben.
jdbc:sqlserver://<url>:1234;databaseName=hiereinsetzenNetiquette (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, ...?
-
28.04.12 17:06 #5
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...
-
29.04.12 22:43 #6
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
-
30.04.12 10:24 #7
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)
-
30.04.12 19:13 #8
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
-
Access Anbindung
Von Winner im Forum VisualStudio & MFCAntworten: 1Letzter Beitrag: 26.11.07, 14:39 -
Tomcat und DB Anbindung
Von AlexD1979 im Forum JavaAntworten: 3Letzter Beitrag: 19.10.05, 08:10 -
C++ SQL anbindung - wie?
Von Jaay im Forum C/C++Antworten: 2Letzter Beitrag: 20.01.05, 11:16 -
Hannover und Anbindung
Von fungo im Forum Internet, DSL & FlatrateAntworten: 3Letzter Beitrag: 26.04.02, 11:20




Zitieren

Login