Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zeos: requested database driver was not found (https://www.delphipraxis.net/191867-zeos-requested-database-driver-not-found.html)

H.Bothur 26. Feb 2017 15:41

Datenbank: ACCESS • Version: 2010 • Zugriff über: Delphi / ZEOS

Zeos: requested database driver was not found
 
Moin,

irgendwie bin ich nicht ganz durch die Anleitung zur Installation von ZEOS durchgestiegen :( Kann auch an meinen schlechten Englischkenntnissen oder so liegen :-(

Programm lässt sich kompilieren aber sobald der erste Zugriff auf eine Datenbank versucht wird kommt es zur Meldung "requested database driver was not found".

Ich weiß das ich noch irgendeine DLL irgendwo hin kopieren muss, aber

welche DLL
wohin

Vielen Dank das mir jemand auf die Sprünge hilft !!

Hans

MichaelT 26. Feb 2017 16:18

AW: Zeos: requested database driver was not found
 
Ich habe ZEOS nur unter Lazarus ...

Hast du in Delphi den Zugriff ZConnection->Protocol ado eingestellt und den JET OLEDB Provider (ZConnection - Database) gewählt.

Düster kann ich mich noch erinnern dies getan zu haben.


Zitat:

Zitat von H.Bothur (Beitrag 1362723)
Moin,

irgendwie bin ich nicht ganz durch die Anleitung zur Installation von ZEOS durchgestiegen :( Kann auch an meinen schlechten Englischkenntnissen oder so liegen :-(

Programm lässt sich kompilieren aber sobald der erste Zugriff auf eine Datenbank versucht wird kommt es zur Meldung "requested database driver was not found".

Ich weiß das ich noch irgendeine DLL irgendwo hin kopieren muss, aber

welche DLL
wohin

Vielen Dank das mir jemand auf die Sprünge hilft !!

Hans


TraumTaenzerDieter 26. Feb 2017 17:01

AW: Zeos: requested database driver was not found
 
So wie MichaelT schon geschrieben +
die Datenbank (zconnection.database)
wie folgt eintragen
"Provider=MICROSOFT.JET.OLEDB.4.0;Data Source=DeineDatenbank.mdb"
Falls Du damit immer noch Probleme hast, mußt Du eventuell noch
von MicroSoft die "AccessDatabaseEngine" einstallieren.
(Ich habe das ganze nur mit der 32bit Version zum Laufen bekommen)

H.Bothur 28. Feb 2017 10:37

AW: Zeos: requested database driver was not found
 
Moin,

im Moment baue ich meinen Connection-String so auf:

Delphi-Quellcode:
  WebshopConnection.DataBase := 'Provider=Microsoft.JET.OLEDB.4.0;';
  WebshopConnection.DataBase := WebshopConnection.DataBase +'Protokoll=ado;';
  WebshopConnection.DataBase := WebshopConnection.DataBase +'Data Source=' +WebshopDBName +';';
  WebshopConnection.DataBase := WebshopConnection.DataBase +'Persist Security Info=False;';
  WebshopConnection.DataBase := WebshopConnection.DataBase +'Jet OLEDB:Database Password=d15wfm30';
  WebshopConnection.Connected := True;
Trotzdem bekomme ich die Fehlermeldung. Noch eine Idee ??

Hans

Poelser 28. Feb 2017 10:44

AW: Zeos: requested database driver was not found
 
Moin,

auf die Schnelle: Sollte es nicht "Protocol=ADO" heißen statt "Protokoll=ADO"? Ich glaube irgendwie in den Parametern nicht an deutsche Begriffe. :wink:

Bis denne
Poelser

H.Bothur 28. Feb 2017 10:58

AW: Zeos: requested database driver was not found
 
Moin,

ergibt natürlich Sinn - knallen tut es leider trotzdem :-(

Hans

jobo 28. Feb 2017 12:48

AW: Zeos: requested database driver was not found
 
Also ich würde mal die Komponenten aus dem Spiel lassen und schauen, wie es ohne geht.
Dazu nimmt man ein udl file und baut mit Bordmitteln (Betriebssystem) den Inhalt zusammen.

Leere Textdatei erzeugen
umbenennen nach .udl
Doppelclick und es öffnet sich der OS Connection Dialog.
Damit kannst Du dann zusammenklicken, was Du brauchst und die Verbindung testen (Verbindungs Test)
Das Ergebnis landet in dem besagten File und dessen Inhalt nutzt Du dann 1:1, um es in Delphi zu machen.

Vorteil: Du kennst die richtigen Parameter und kannst die Probleme auseinanderhalten.

Hilfreich dazu ist auch diese Webseite:
https://www.connectionstrings.com/access/

MichaelT 28. Feb 2017 13:35

AW: Zeos: requested database driver was not found
 
Wenn du auf der ZConnection das Protokoll Property Protocol auf ADO umstellst und die Property Database manuell im Object Inspektor auswählst (es käme dann der Konfigurationsdialog). Funktioniert es dann?


Zitat:

Zitat von H.Bothur (Beitrag 1362869)
Moin,

ergibt natürlich Sinn - knallen tut es leider trotzdem :-(

Hans


H.Bothur 2. Mär 2017 15:36

AW: Zeos: requested database driver was not found
 
Zitat:

Zitat von jobo (Beitrag 1362883)
Also ich würde mal die Komponenten aus dem Spiel lassen und schauen, wie es ohne geht. Dazu nimmt man ein udl file und baut mit Bordmitteln (Betriebssystem) den Inhalt zusammen.

Gute Idee - Aber da kann ich nur SQL-Strver angeben. Da fehlt mir die MS Jet Engine ?!

Zitat:

Zitat von jobo (Beitrag 1362883)
Hilfreich dazu ist auch diese Webseite: https://www.connectionstrings.com/access/

Danach wäre es die "Microsoft.Jet.OLEDB.4.0" oder die "Microsoft.Ado.OLEDB.12.0"

jobo 2. Mär 2017 15:44

AW: Zeos: requested database driver was not found
 
Da gibt es 2 Möglichkeiten
Die Jet Engine ist nicht installiert- bei modernen Systemen durchaus möglich
oder
Es gibt das 32 / 64 Bit Problem analog zu den ODBC Treibern. Das setzt voraus, Du arbeitetst mit eienm 64 Bit System.
Aus dem Kopf krieg ich das nicht auf die Kette. Das 64er System bietet per default die 64 Treiber an. Installierte 32er Treiber werden weder gesucht noch angeboten.
Ich glaube, da ist es dann mit einem Doppelclick auf das UDL File nicht mehr getan, sondern man muss aus der Kommandozeile den 32 Bit Handler starten mit dem UDL File als Parameter.
Ich hab das irgendwo schon mal beschrieben, aber grad kein Plan.
Wenn Du nach UDL 32 / 64 suchst, findest Du sicher Hinweise, wie das geht.

H.Bothur 2. Mär 2017 15:45

AW: Zeos: requested database driver was not found
 
Zitat:

Zitat von MichaelT (Beitrag 1362890)
Wenn du auf der ZConnection das Protokoll Property Protocol auf ADO umstellst und die Property Database manuell im Object Inspektor auswählst (es käme dann der Konfigurationsdialog). Funktioniert es dann?

Nein - das wäre zu einfach :-) Wenn ich das manuell mache und dann teste bekomme ich ein "Die Informationsdatei für die Arbeitsgruppe fehlt oder ist exclusiv von einem anderen Benutzer geöffnet."

Das ist aber asuch so ein Fehler für den man 100.000 Einträge bei Google findet - aber auch 100.000 verschiedene Lösungsansätze - und keiner hat was mit Delphi zu tun.

Daher meine Hoffnung das hier irgend jemand ZEOS mit Access-DBs nutzt.

Hans

nahpets 2. Mär 2017 15:54

AW: Zeos: requested database driver was not found
 
Wenn die MS Jet Engine vorhanden ist, wird sie im Dialog für den Connectionstring zur Auswahl angeboten.

Was an Treibern installiert ist, müsste man auch in der Registry unter HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI
nachschauen können.

https://docs.microsoft.com/en-us/sql...dbc-components

Ich benutze mit ZEOS alles, was man mit ZEOS benutzen kann, auch Access. Das klappt problemlos.

Connectionstring "zusammendaddeln" und schon geht's.

Deine bisherige Beschreibung lässt darauf schließen, dass auf Deinem System die MS Jet Engine fehlt.
Ist auf dem Rechner das Office-Paket von MS drauf oder zumindest Access?
Wenn nein, kann es durchaus sein, das die MS Jet Engine nicht vorhanden ist.

Schau doch bitte mal nach, ob es auf dem Rechner so 'ne Datei gibt: C:\WINDOWS\system32\odbcjt32.dll

Sie mag auch woanders liegen, aber sie ist (zumindest) Teil der MS Jet Engine.

Ansonsten hier mal nachschauen: https://www.microsoft.com/de-de/down...rch.aspx?q=jet

Passendes suche und installieren.

H.Bothur 2. Mär 2017 15:56

AW: Zeos: requested database driver was not found
 
Zitat:

Zitat von jobo (Beitrag 1363039)
Es gibt das 32 / 64 Bit Problem analog zu den ODBC Treibern. Das setzt voraus, Du arbeitetst mit eienm 64 Bit System. .....
Wenn Du nach UDL 32 / 64 suchst, findest Du sicher Hinweise, wie das geht.

Jau ... jetzt kann ich auch den Jet 4.0 OLE DB Provider auswählen :-).. aber auch dann bekomme ich "Die Informationsdatei für die Arbeitsgruppe fehlt oder ist exclusiv von einem anderen Benutzer geöffnet."

Hääähh ???

Hans

H.Bothur 2. Mär 2017 16:01

AW: Zeos: requested database driver was not found
 
Zitat:

Zitat von nahpets (Beitrag 1363043)
Ist auf dem Rechner das Office-Paket von MS drauf oder zumindest Access?

Schau doch bitte mal nach, ob es auf dem Rechner so 'ne Datei gibt: C:\WINDOWS\system32\odbcjt32.dll

Office 2010 ist drauf und die Datei existiert auch ... aber natürlich in Windows\SysWOW64\

In der Registry habe ich auch nachgesehen ... da steht was von installiertem SQL Native Client und SQL Server

Hans

jobo 2. Mär 2017 16:05

AW: Zeos: requested database driver was not found
 
Ist Dir bekannt ob die DB eine Arbeitsgruppenangabe braucht?
Oder ist Dir bekannt was das ist?
Es gibt da ein eigenes User/Rechtemanagement, das sind glaub ich mdw dateien.
Prüf mal, ob das bei Dir der Fall ist.
Ich glaube MS (Access) ist (wie immer) auch in der Lage, diesen Kram mit irgendwelchen Domänen Daten zu vermischen, sodass es nicht unbedingt offensichtlich ist, dass man als "spezieller" User arbeitet. Wenn es kein Domänensystem ist, musst Du einfach bei den funktionierenden Systemen nach Hinweisen auf die Arbeitsgruppen Datei oder wie das heißt schauen. Das kann z.B. als Parameter bei Öffnen einer Access MDB separat mitgegeben werden.

H.Bothur 2. Mär 2017 16:14

AW: Zeos: requested database driver was not found
 
Zitat:

Zitat von jobo (Beitrag 1363048)
Ist Dir bekannt ob die DB eine Arbeitsgruppenangabe braucht?
Oder ist Dir bekannt was das ist?
Es gibt da ein eigenes User/Rechtemanagement, das sind glaub ich mdw dateien.
Prüf mal, ob das bei Dir der Fall ist.

Eingelich nicht ... das ist ja wo ich das gefühl habe das ich irgendwas in Bezug auf Zeos falsch mache. Bisher hatte ich wie gesagt Delphi 7.0 und da funktionierte das ganze (mit dem eingebauten ADO-Routinen) so:

Delphi-Quellcode:
  WebshopADOConnection.ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;';  WebshopADOConnection.ConnectionString := WebshopADOConnection.ConnectionString +'Data Source=' +WebshopDBName +';';
  WebshopADOConnection.ConnectionString := WebshopADOConnection.ConnectionString +'Persist Security Info=False;';
  WebshopADOConnection.ConnectionString := WebshopADOConnection.ConnectionString +'Jet OLEDB:Database Password=d15wfm30';
  WebshopADOConnection.Connected := True;
Und das habe ich jetzt eben als ConnectionString bei ZEOS und es geht gar nicht :-(

Hans

nahpets 2. Mär 2017 17:26

AW: Zeos: requested database driver was not found
 
Wenn der Connectionstring mit Delphi 7 und den ADO-Komponenten funktioniert, müsste er auch mit ZEOS funktionieren.

Kannst Du mal den Connctionstring mit ADO und Delphi 7 zusammenbauen und den dann ZEOS "spendieren"?

Meiner Meinung nach müsste das per Copy&Paste funktionieren.

Ansonsten helfen diehier eventuell weiter?

https://www.connectionstrings.com/us...-environments/
https://www.connectionstrings.com/access/
Post #6 zu http://www.delphipraxis.net/170826-a...-auf-win7.html
http://www.delphipraxis.net/185067-a...der-fehlt.html
http://stackoverflow.com/questions/3...ess-ado-64-bit
http://stackoverflow.com/questions/6...ss-on-mdb-file

EgonHugeist 2. Mär 2017 18:00

AW: Zeos: requested database driver was not found
 
Mal direkt von Zeos:

Der Treiber-Name wurde nicht erkannt. Somit gehe ich davon aus, dein Compile-Target hat nichts mit Windows zu tun..
ADO/OleDB(7.2) ist aber nur under Windows vorhanden. Somit ist die Exception i.O., siehe "nahpets" Liste.

Wenn du also ein Connection zu SQLSERVER oder der gleichen mit Zeos nutzen willst, hole die 7.3 vom SVN und benutze das odbc Protokoll.

H.Bothur 2. Mär 2017 19:50

AW: Zeos: requested database driver was not found
 
Zitat:

Zitat von EgonHugeist (Beitrag 1363059)
Mal direkt von Zeos:

Der Treiber-Name wurde nicht erkannt. Somit gehe ich davon aus, dein Compile-Target hat nichts mit Windows zu tun..

Doch - Entwicklung und Target sind Windows

Den Rest prüfe ich morgen wenn ich wieder an den Rechner komme.

Hans

MichaelT 2. Mär 2017 20:27

AW: Zeos: requested database driver was not found
 
Wäre auch zu einfach, wenn es so ginge :-D

Bei dem weiterführenden Fehler muss ich passen.


"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=|DataDirectory|\Northwind.mdb;
Jet OLEDB:System Database=|DataDirectory|\System.mdw;"

Möglw. muss man tatsächlich diese System.mdw mitangeben. Sonst kann ich mir so schwer eine Reim auf den im Moment diskutierten Fehler machen. Aber das wirst du schon gefunden haben.

Ich habe mit Access eher wenig zu tun und das wenige ist schon lange her.

Zitat:

Zitat von H.Bothur (Beitrag 1363040)
Nein - das wäre zu einfach :-)
Daher meine Hoffnung das hier irgend jemand ZEOS mit Access-DBs nutzt.

Hans


jobo 2. Mär 2017 20:53

AW: Zeos: requested database driver was not found
 
[QUOTE=H.Bothur;1363051]
Zitat:

Zitat von jobo (Beitrag 1363048)

Und das habe ich jetzt eben als ConnectionString bei ZEOS und es geht gar nicht :-(

Hans

Ich sehe da nichts von Arbeitsgruppen.
Hast Du geprüft, ob bei den Access Dateien noramlerweise Arbeitsgruppen im Spiel sind?
Wenn es so ist, hat das nichts mit ZEOS zu tun.
Schau mal hier:
https://entwickler-forum.de/showthre...-gesicherte-DB

oder google selbst danach. Du musst die MDW Datei mit an den Start bringen.

H.Bothur 3. Mär 2017 09:44

AW: Zeos: requested database driver was not found
 
Zitat:

Zitat von jobo (Beitrag 1363075)
Ich sehe da nichts von Arbeitsgruppen.
Hast Du geprüft, ob bei den Access Dateien noramlerweise Arbeitsgruppen im Spiel sind?

Moin,

nein - Arbeitsgruppen sind da nicht mit am Start - jedenfalls endsteht da nirgendwo auf dem Rechner was. Und im alten Programm (Delphi 6.0) ist im Source auch nichts davon zu sehen - und damit ging es ja.

Hans

H.Bothur 3. Mär 2017 11:43

AW: Zeos: requested database driver was not found
 
So - ich versuche jetzt mal alle Möglichkeiten und Versuche zusammenzufassen:

1) Wenn ich übers Betriebssystem die Verbindung teste dann ist das erfolgreich (Test.udl mit 32 Bit):
MS Jet 4.0 OLE DB Provider
ReadWrite
Jet OLEDB: Database Passwort passend gesetzt
Persist Security Info: False

2) Unter Delphi 6.0 Professional geht es mit folgendem Connect-String:
Delphi-Quellcode:
     ADOConnection1.ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\temp\test\tesa.mdb;Persist Security Info=False;Jet OLEDB:Database Password=d15wfm30';
  ADOConnection1.Connected := True;
3) Wenn ich das unter RAD10.1 mit Zeos probiere passiert bekomme ich immer die Meldung:
"Requested database driver was not found"
egal ob ich versuche MS.ACE.OLEDB.12.0 oder MS.ACE.JET.4.0 zu nutzen.

Für mich sieht es irgendwie so aus als ob ich bei der Installation einen Fehler gemacht habe. Mal zwei Fragen:

1: Muss ich noch zusätzlich eine DLL in ein Systemverzeichnis oder in das Programmverzeichnis kopieren ?
2: Kommt der ConnectString wirklich in die Property ZConnection1.DataBase ... oder ist .DataBase falsch ?

Gruß
Hans

nahpets 3. Mär 2017 12:34

AW: Zeos: requested database driver was not found
 
Bei Protocol kommt ADO rein, bei Database der Connectionstring.

Den müsstest Du im Objektinspektor eigentlich beim Klick auf den Button mit den drei ... erstellen können.

Ebenso sollte es eigentlich problemlos möglich sein, den Connectionstring von Delphi 6 per Copy&Paste zu übernehmen. Er müsste mit Zeos ebenso funktionieren.

Für die Nutztung von Access musste ich bisher nie irgendeine DLL woauchimmer hinkopieren.

Was mir jetzt noch einfiele:

Irgendwelche Suchpfade unterscheiden sich.

Schau bitte mal nach, wo die oben in 'nem Post genannten DLLs liegen. Hattest geschrieben SysWOW64.

Lass Dir bitte (wenn möglich) vom Delphi-6-Programm mal den Inhalt der Path-Variabel ausgeben und ebenso von dem Programm, bei dem Du momentan so arge Probleme hast.

Delphi-Quellcode:
ShowMessage(GetEnvironmentVariable('PATH'));
Und dann schau bitte nach, ob die DLL in dem Pfad jeweils zu finden ist.

Wenn nein, muss irgendwas an den Pfadangaben nicht stimmen.

Sollte die DLL jedoch im Pfad sein, dann ist entweder irgendeine weitere DLL nicht zu finden oder ich weiß nicht weiter :-(

H.Bothur 3. Mär 2017 13:01

AW: Zeos: requested database driver was not found
 
Man mag es nicht glauben ... ich habe wahrscheinlich den Fehler !!

Ich habe bisher das Protocol im Connection-String mit angegeben. Wenn ich das Protokoll mit

Delphi-Quellcode:
  ZConnection1.Protocol := 'ado';
angebe - dann klappt das so weit :-)

Gruß und vielen Dank an alle die mich angestubst haben !!!

Hans

HolgerX 3. Mär 2017 13:23

AW: Zeos: requested database driver was not found
 
Zitat:

Zitat von H.Bothur (Beitrag 1363124)

3) Wenn ich das unter RAD10.1 mit Zeos probiere passiert bekomme ich immer die Meldung:
"Requested database driver was not found"
egal ob ich versuche MS.ACE.OLEDB.12.0 oder MS.ACE.JET.4.0 zu nutzen.

Hmm..


Ist dass nicht 'Provider=Microsoft.Jet.OLEDB.4.0'? Dieser Treiber sollte eigendlich immer da sein ab WinXP...

H.Bothur 3. Mär 2017 13:28

AW: Zeos: requested database driver was not found
 
Zitat:

Zitat von HolgerX (Beitrag 1363139)
Zitat:

Zitat von H.Bothur (Beitrag 1363124)

3) Wenn ich das unter RAD10.1 mit Zeos probiere passiert bekomme ich immer die Meldung:
"Requested database driver was not found"
egal ob ich versuche MS.ACE.OLEDB.12.0 oder MS.ACE.JET.4.0 zu nutzen.

Hmm..

Ist dass nicht 'Provider=Microsoft.Jet.OLEDB.4.0'? Dieser Treiber sollte eigendlich immer da sein ab WinXP...

MS.ACE.OLEDB.12.0 geht jedenfalls :-)

Gruss
Hans *KaumMachtMannEsRichtigKlapptEsAuch!*


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:09 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