2016-08-03 7 views
2

Ich habe ein Append-Abfrageobjekt in meiner Access-Datenbank. Ich kann alle Select-Abfrageobjekte ohne Probleme aufrufen.UCanAccess aufrufen gespeichert Append, Update oder Delete-Abfrage

Aber wenn die Abfrage in db eingefügt wird, kann ich es nicht von Java aufrufen, der Fehler ist "Mangel an Berechtigungen oder Objekt nicht gefunden".

Wie kann ich die Abfrage einfügen/anhängen von meinem Java-Code aufrufen?

Antwort

1

UCanAccess kann gespeicherte "Aktionsabfragen" in Access ausführen (Abfragen anhängen, Abfragen aktualisieren und Abfragen löschen), indem ein Objekt CallableStatement verwendet wird.

Wenn die gespeicherte Abfrage keine Parameter hat, dann ist der Code einfach

try (CallableStatement s = conn.prepareCall("{call MyAppendQuery()}")) { 
    s.execute(); 
} 

(Beachten Sie, dass die leeren Klammern () nach dem Abfragenamen sind erforderlich.)

Für eine gespeicherte Aktionsabfrage mit Parameter, der Code ist wie folgt

try (CallableStatement s = conn.prepareCall("{call MyAppendQuery(?,?)}")) { 
    s.setString(1, "Hello from UCanAccess"); 
    s.setTimestamp(2, java.sql.Timestamp.valueOf("2011-01-31 14:15:16")); 
    s.execute(); 
} 
+0

Hallo Vielen Dank für die Antwort. Ich habe das schon einmal versucht, aber die Append-Abfrage selbst enthält mehr Abfrageobjekte, und ich bekomme immer den Fehler: UCAExc ::: 3.0.6 Benutzer fehlt Privileg oder Objekt nicht gefunden. Vielen Dank für deine Antwort. –