Folgendes Problem:
bei einem Insert über folgenden Code kackt er mir ab, bzw. bringt unten angehängte Exception. Auf das Voranstellen von "dbo." an den Tabellen-Namen ztab klappt nicht. Das Insert wird richtig(!) erzeugt, das habe ich selbst auf dem SQL-Server getestet. Es scheint hier also entweder am JDBC Treiber (verwende den von MS) oder an den Rechten der DB zu liegen. Wie bekomme ich Zweifel die Rechte umgestellt? ICh bin mit dem User sa auf der Datenbank connected.
Was mich wundert: Abfragen (SELECT) funktionieren wunderbar (auf der gleichen DB)!
Anm: toAttList und toValList sind Objekte vom Typ Method und deren aufruf wandelt lediglich Daten in einen für das Statement verwendbaren String um.
bei einem Insert über folgenden Code kackt er mir ab, bzw. bringt unten angehängte Exception. Auf das Voranstellen von "dbo." an den Tabellen-Namen ztab klappt nicht. Das Insert wird richtig(!) erzeugt, das habe ich selbst auf dem SQL-Server getestet. Es scheint hier also entweder am JDBC Treiber (verwende den von MS) oder an den Rechten der DB zu liegen. Wie bekomme ich Zweifel die Rechte umgestellt? ICh bin mit dem User sa auf der Datenbank connected.
Was mich wundert: Abfragen (SELECT) funktionieren wunderbar (auf der gleichen DB)!
Anm: toAttList und toValList sind Objekte vom Typ Method und deren aufruf wandelt lediglich Daten in einen für das Statement verwendbaren String um.
Java:
Statement ins = dba.getStmt();
StringBuffer sqlInsert =
new StringBuffer("insert into " + ztab + " (");
sqlInsert
.append(toAttList.invoke(o, new Object[0]) + ") values (");
sqlInsert
.append(toValList.invoke(o, new Object[0]) + ")");
ins.executeUpdate(sqlInsert.toString());
Java:
com.microsoft.sqlserver.jdbc.SQLServerException: Ungültiger Objektname 'myTab'.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
at com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement$StatementExecutionRequest.executeStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.CancelableRequest.execute(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeRequest(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeUpdate(Unknown Source)
at DBConverter.execute(DBConverter.java:143)
at DBConverter.main(DBConverter.java:265)
Zuletzt bearbeitet: