![]() |
Datenbank: ACCESS • Version: ? • Zugriff über: Delphi / ZEOS
ZEOS und MS-Access
Moin,
nachdem ich Indy und die ZIP-Routinen unter RAD-Studio 10.1 wieder zum laufen bekommen habe kämpfe ich jetzt mit ZEOS - und irgendwie habe ich da gar keine echte Ahnung von und in den letzten zwei Tagen bei dem ganzen suchem im Netz auch nichts gefunden :( Bisher hatte ich unter Delphi 6.0 Prof den Zugriff auf die Access-Datenbanken so gemacht:
Delphi-Quellcode:
Vielleicht kann mir jemand sagen wie ich das dann in ZEOS umsetze ?? Oder hat ein Beispiel wie er mit ZEOS auf ACCESS-Datenbanken zugreift ?
function TLieferantenForm.DatenbankOeffnen(LieferantenDBName: String): Integer;
begin LieferantenADOConnection.ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;'; LieferantenADOConnection.ConnectionString := LieferantenADOConnection.ConnectionString +'Data Source=' +LieferantenDBName +';'; LieferantenADOConnection.ConnectionString := LieferantenADOConnection.ConnectionString +'Persist Security Info=False;'; LieferantenADOConnection.ConnectionString := LieferantenADOConnection.ConnectionString +'Jet OLEDB:Database Password=d15wfm30'; LieferantenADOConnection.Connected := True; if LieferantenADOConnection.Connected then begin LieferantenADOQuery.close; LieferantenADOQuery.Sql.Text := ('SELECT count(*) as Anzahl FROM Artikel'); LieferantenADOQuery.open; MainForm.LieferantenDBLEd.Text :=MainForm.LieferantenDBLEd.Text +': ' +IntToStr(LieferantenADOQuery.FieldByName('Anzahl').AsInteger); Result := LieferantenADOQuery.FieldByName('Anzahl').AsInteger; LieferantenADOQuery.close; end; end; Vielen Dank Hans P.S: Crosspostet in ![]() |
AW: ZEOS und MS-Access
![]()
Delphi-Quellcode:
Eigentlich muss in deine Routine von oben am Anfang nur die Zeile
ZConnection1.Protocol := 'ado';
ZConnection1.Database := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Datenbank.mdb;Persist Security Info=False';
Delphi-Quellcode:
eingefügt werden.
LieferantenADOConnection.Protocol := 'ado';
|
AW: ZEOS und MS-Access
Moin,
den Beitrag hatte ich schon fünfmal gelesen - bis ich dann endlich merkte wo ich auf "Verbindung" klicken soll :-( Allerdings bekomme ich jetzt einen Fehler "Die Anwendung kann nicht gestartet werden. Die Informationsdatei für die Arbeitsgruppe fehlt oder ist exclusiv von einem anderen Benutzer geöffnet". Die Eigenschaft Jet OLEDB:Database Password habe ich bereits mit dem Password der Datenbank belegt. Was mache ich denn jetzt falsch ?? Gruß Hans |
AW: ZEOS und MS-Access
Das dürfte ein Rechteproblem sein.
Im Dialog zum Auswählen der Datenbank müsste es einen Reiter "Erweitert" geben. Schau bitte mal, was dort alles so angekreuzt ist, bzw. nicht. Davon abhängig darf ausschließlich nur Deine Applikation auf die Datenbank zugreifen oder eben eine andere Applikation. Schließ bitte erstmal alles an Programmen, was eventuell auf die Datenbank zugreift. Die Datenbankverbindung sollte auch in der IDE nicht geöffnet sein. Und dann nochmal probieren. Die Fehlermeldung hängt eventuell mit dem Ablageort der system.mdb zusammen. Ansonsten mal hier schauen: ![]() ![]() Weitere Hinweise sind eventuell hier zu finden: ![]() |
AW: ZEOS und MS-Access
Moin Stefan,
angehakt war unter "Erweitert" Share Deny None - ich habe das jetzt mal auf "ReadWrite" geändert - das gibt aber das gleiche Ergebnis. Die Datei ist nicht irgendwie anders geöffnet und liegt auf einem lokalem Laufwerk. Trotzdem bekomme ich noch diese Meldung :-( Direkt mit Access kann ich übrigens problemlos auf die Datenbank zugreifen: Doppelklick, Passwort eingeben und läuft :-( Und in den Links nach der Fehlermeldung habe ich bisher leider auch keinen Ansatz gefunden :-( Hans |
AW: ZEOS und MS-Access
Beim Zugriff auf Access-Datenbanken entstehen temporäre Dateien, in der Regel im %TEMP%-Verzeichnis. Der Name beginnt mit JET.
Schau bitte mal nach, ob es davon welche in Deinem Temp-Verzeichnis gibt. Wenn ja, lösche sie. Solange das nicht gelingt, gibt es noch einen Prozess, der auf eine Access-Datenbank zugreift. Leider kann man an den Dateien nicht erkennen, welcher Prozess das ist. Eventuell hilft hier der ProcessExplorer. ![]() Beim Öffnen einer Access-Datenbank entsteht neben der Datenbankdatei eine weitere Datei mit 'nem Dateinamen in der Form Datenbankname.ldb. Gibt es diese Datei? Wenn ja, kannst Du sie löschen? Wenn nein, dann greift noch irgendein Prozess auf die Datenbank zu. Finde den heraus und beende ihn. Dann erneut probieren. Ist für die Datenbank ein ODBC-Treiber eingerichtet? Wenn ja, geh' bitte mal in dessen Konfiguration. Dort müsste es irgendwo die Auswahlmöglichkeit zu einer Systemdatenbank geben. Wähle dort bitte "Keine" aus. Ist sichergestellt, dass Dein Programm in dem Verzeichnis, in dem sich die Access-Datenbank befindet, Schreibrechte hat? Falls weiterhin eine Fehlermeldung kommt, diese bitte im Dialog mit Strg+C in die Zwischenablage kopieren und dann hier einfügen. |
AW: ZEOS und MS-Access
Ich habs endlich raus - natürlich war es mein Fehler - welch Frage:
Ich hatte 'Persist Security Info=False;' leider nicht gesetzt und das stand auf True :-( Jetzt klappt es - vielen Dank !! Hans |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz