SQL-Statement SQLException: the '|' object

nahum77

Mitglied
Hallo zusammen

Bin mal wieder am Ende mit meinem Latein und Dr. Google mag mich auch nicht mehr 🙁

Folgendes Problem:
Ich greiffe mit JAVA.SQL über JDBC-ODBC auf MS-Access 2003 zu. In Access habe ich eine Tabelle und zusätzlich eine Verknüpfung auf eine Microsoft Sharepoint2010 Tabelle. Ich schreibe also durch Access in den Sharepoint. Ich lese aus der Access-Tabelle (SELECT), prüfe diese auf NULL-Felder und Datumsfehler, frage den Sharepoint ab welche Datensätze er schon kenn (SELECT mit PrepareStatement), anschliessend werden die vorhandenen Datensätze im Sharepoint editiert (UPDATE mit PrepareStatement) und danach neue Datensätzen im Sharepoint angelegt (INSERT INTO mit PrepareStatement). Schlussendlich wird noch ein Trigger in der Access-Tabelle (UPDATE mit PrepareStatement) zurückgesetzt. Die Statements, PreparedStatements, Resultsets und sogar die Connections werden allesammt geclosed und die Members (wo vorhanden) auf NULL zurückgesetzt.

Das gnze ist in einer methode verpackt funktioniert eigentlich ganz gut, aber nur einmal.

Wenn ich die selbe Methode nochmal laufen lasse erhalte ich folgende SQLException:
Java:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] You do not have the necessary permissions to use the '|' object.  Have your system ad
ministrator or the person who created this object establish the appropriate permissions for you.

Also an den Rechten sollte es nicht liegen, denn ich kann in den SharePoint schreiben, updaten und löschen. Funktioniert bei ersten Durchgang alles TipTop.

Und was das für ein Objekt sein soll
kann ich mir auch nicht erklären.

Wenn jemand einen Rat hat wäre ich sehr dankbar, denn ich weiss nicht mehr weiter... :bahnhof:

Schon mal herzlichen Dank und Gruss

Nahum77
 
Oh das ist interessant!

Wenigstens mal eine Spur.
Cause

Following can be the probable causes for the above mentioned error message:
.The error may occur due to incompatibility of Access file versions.
.The error may also occur due to wrong or corrupted database path.
.Another reason could be relationships or referential integrity corruption.

Bei den ersten beiden denke ich nicht, dass hier da Problem liegt. Ich ändere ja keinerlei Parameter und wenn, dann nur die Anzahl Datensätze die übertragen werden sollen.

Der dritte Punkt tönt spannend. Insbesondere da ich bei einem reinen Access-Übertrag (also von Acces-DB1 nach Access-DB2) mit derselben Methode keinerlei Probleme habe. Könnte also wirklich an der Sharepoint-Verknüpfung liegen. Allerdings stehe ich da gleich wieder am Berg. Was ist gemeint mit:
relationships or referential integrity corruption.
Wo und wonach soll ich da suchen? Langsam habe ich keinen Hirnschmlaz mehr zum verbraten...

Herzlichen Dank erstmal für den Tip

Gruss
Nahum77
 
Hallo nahum77,

versuch mal folgendes:

Du benötigst evtl. die Arbeitsgruppen-Datei, d.h. die MDW-Datei. Diese wird verwendet, um die Datenbank zu sichern.

Wenn Du die Arbeitsgruppen-Datei findest, kannst Du eine Verknüpfung zu Deiner Datenbank erstellen. Füge eine Desktop-Verknüpfung hinzu, dann setzt Du diese als Zielwert:

"Vollständiger Pfad zu Msaccess.exe" "den vollständigen Pfad zu Deiner Datenbank" / wrkgrp "vollständiger Pfad zu Deiner Arbeitsgruppen-Datei"

Es gibt oft mehrere system.mdw Dateien auf einem Rechner und Wrkgadm.exe wird verwendet, um Arbeitsgruppen-Dateien (d.h. Verknüpfungen zu erstellen).

Beispiel:
"C: \ Programme \ Microsoft Office \ OFFICE11 \ MSACCESS.EXE" "C: \ MS_Access \ TEST_V1 \ Entwicklung \ TEST V1 Daten.mdb" / wrkgrp "C: \ MS_Access \ TEST_app.mdw" / user AppDev

Ersetze den letzten Teil des Pfad und Namen mit Deiner . MDW-Datei.

Andernfalls: versuche den Import "aller Objekte" in einer neuen ACCESS-DB.

Die Rechte auf den Pfad, d.h. nicht nur Lese- sondern auch Schreibrechte, hast Du ja schon geprüft oder?

P.S. Das '|' object (Pipe) kann evtl. auch das Trennzeichen des letzten Feldnamens der ACCESS Tabelle sein.

Ich hoffe, das hilft Dir erst mal weiter.

Grüße
OSBI_Fan

OSBI = Open Source Business Intelligence
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben