73234
Goto Top

Access Datenbankanbindung mittels ODBC 32-64 bit

Moin @all,

wo stehe ich auf dem Schlauch?

Alt iO:
- Win7 64 bit
- 32bit Anwendung, die AccesDB bearbeitet
- Office 2007 32 bit, hier die Acces Datei erstellt
- Zugriff auf Acces Datei iO.

Neu mit Fehler:
- Win10 64 bit
- 32bit Anwendung, die AccesDB bearbeitet (wie oben)
- Office 2016 64 bit
- Zugriff auf Acces Datei über die Anwendung mit Fehler folgender Art:

Fehlerfenster:
[Microsoft][ODBC Driver Manager] Der Datenquellenname
wurde nicht gefunden, und es wurde kein Standardtreiber
angegeben.

Vielleicht kann mir jemand kurz aufzeigen, wie ich diese Anwendung wieder sauber
auf die AccessDatei zugreifen lassen kann?

In der Anwendung ist der Ort der Access-Datei fest hinterlegt.

Auch mit dem hinterlegen einer DSN-Datei bekomme ich die Fehlermeldung.

Vielen Dank für die Hilfe, Minion

Content-Key: 563540

Url: https://administrator.de/contentid/563540

Printed on: April 19, 2024 at 08:04 o'clock

Member: StefanKittel
StefanKittel Apr 07, 2020 at 21:55:55 (UTC)
Goto Top
Zitat von @73234:
In der Anwendung ist der Ort der Access-Datei fest hinterlegt.
Das wäre wichtig zu wissen was hier steht.
Nur der Dateiname oder ein kompletter ODBC-String der auf irgendwas verweist was nicht da ist.

Stefan
Member: manuel-r
manuel-r Apr 08, 2020 at 04:58:44 (UTC)
Goto Top
Moin

Deine 32Bit-Anwendung findet wahrscheinlich nicht den DSN den sie ansprechen soll. Schau zuerst mal unter /Windows/SysWow64/odbcad.exe nach ob der für x86 angelegt ist.

Manuel
Member: wiesi200
wiesi200 Apr 08, 2020 at 05:35:37 (UTC)
Goto Top
Zitat von @manuel-r:

Moin

Deine 32Bit-Anwendung findet wahrscheinlich nicht den DSN den sie ansprechen soll. Schau zuerst mal unter /Windows/SysWow64/odbcad.exe nach ob der für x86 angelegt ist.

Manuel
Hallo

Währ auch mein erster Tip
Mitglied: 73234
73234 Apr 08, 2020 at 08:48:03 (UTC)
Goto Top
ODBC für 32-bit

win10 2016

Dazu habe ich 'AccessDatabaseEngine_X64' (engl) noch einmal extra installiert.

Wie kann ich hier den Verbindungsstring aufbauen?

MfG Minion
Mitglied: 73234
73234 Apr 08, 2020 at 08:49:28 (UTC)
Goto Top
Moin,

Eine TADO Komponente:

ado komponente 2

Aktuell läuft das unter 32-bit stabil.
Member: manuel-r
manuel-r Apr 08, 2020 at 08:59:14 (UTC)
Goto Top
Dazu habe ich 'AccessDatabaseEngine_X64' (engl) noch einmal extra installiert.

Ich denke das wird nicht viel bringen, wenn du doch einen 32Bit-DSN für deine 32Bit-Anwendung brauchst. Da brauchst du nämlich auch den entsprechenden 32Bit-Treiber bzw. -Engine.
Danach erstellst du einen DSN (Benutzer oder System). Der muss dann auch so benannt werden wie deine Anwendung das erwartet. Manchmal kann man in einer Anwendung auch angeben welchen DSN sie nutzen soll. Es kann aber auch sein, dass die Anwendung die Engine direkt anspricht. Dann brauchst du i.d.R. keinen DSN.

Das alles sollte dir aber der Softwarehersteller beantworten können.

Manuel
Mitglied: 73234
73234 Apr 08, 2020 at 09:30:09 (UTC)
Goto Top
Thanks für die Antwort,

Wenn ich unter ODBC-32 einen Benutzer DNS- erstellen will, habe ich nur die Treiber-Auswahl für *.mdb - Dateien.
*.accdb - Dateien, in der die Access DB erstellt wurde, stehen nicht zur Auswahl zur Verfügung.
Somit ist es unmöglich die accdb-DB-Datei als Ziel auszuwählen.

Und das wundert mich nun, da ich die 'AccessDatabaseEngine_X64' (engl) für Office 2016 ja neu installiert hatte und annahm,
dass genau hier auch die *.accdb Datein unterstützt werden, weil neuer.

Hmm
Member: manuel-r
manuel-r Apr 08, 2020 at 11:25:23 (UTC)
Goto Top
*.accdb - Dateien, in der die Access DB erstellt wurde, stehen nicht zur Auswahl zur Verfügung.

Das kann ich dir jetzt auch nicht erklären. Laut Microsoft wird *.accdb unterstützt. Wäre ja auch merkwürdig wenn nicht.

This download will install a set of components that facilitate the transfer of data between existing Microsoft Office files such as Microsoft Office Access (*.mdb and *.accdb) files and Microsoft Office Excel (*.xls, *.xlsx, and *.xlsb) files to other data sources such as Microsoft SQL Server.

Ich denke das wird nicht viel bringen, wenn du doch einen 32Bit-DSN für deine 32Bit-Anwendung brauchst. Da brauchst du nämlich auch den entsprechenden 32Bit-Treiber bzw. -Engine.

Hast du denn inzwischen die x86-Version installiert? Mit x64 wird nämlich auf gar keinen Fall funktionieren mit deiner 32Bit-Anwendung.

Manuel
Mitglied: 73234
73234 Apr 08, 2020 at 12:38:47 (UTC)
Goto Top
Die 32-bit Version von 'AccessDatabaseEngine' kann nicht installiert werden, da das MS-Office 2016 in 64 bit installiert ist.

Ich habe mit ODBC 32 einen 32-er Eintrag erstellt, der Unterstütz aber nur mdb-Dateien

win10 2016 32

Auf anderen Rechnern mit Access 32 bit funktioniert das Programm ohne Probleme.
Hier wurden keine expliziten DNS-Einträge im OBDC-Manager erstellt, es scheint die Programmierung im Programm zu greifen.
Member: manuel-r
manuel-r Apr 08, 2020 at 13:05:50 (UTC)
Goto Top
Auf anderen Rechnern mit Access 32 bit funktioniert das Programm ohne Probleme.

Ich habe da was hervorgehoben. Merkst du was?
Natürlich kann eine 32Bit-Anwendung bei installiertem 32Bit-Office per ODBC eine DB ansprechen. Alles was dazu notwendig ist wurde mit dem Office installiert. Eine 32Bit-Anwendung kann das aber nicht mit einem 64Bit-Office. Deswegen brauchst du die 32Bit-Komponenten.

Wenn die 2016er Engine nicht will, weil das Office schon da ist, dann versuch doch mal eine 2013er Engine als x86. Vielleicht kannst du damit tricksen. Wenn alles nicht hilft musst du halt das 64Bit gegen ein 32Bit-Office tauschen.

Manuel
Mitglied: 73234
73234 Apr 08, 2020 at 13:46:52 (UTC)
Goto Top
Hallo,
Office 2016/64 (Ist die 'Click an Run' Version) muss bleiben und genutzt werden. MS schreibt sich ja die Abwärtskompatibilität auf die Fahnen ...

Ich bin gerade hierüber gestolpert:

Zugriff auf ODBC-Treiber oder OLEDB-Anbieter außerhalb von Office-Klick-und-Los-Anwendungen

Mal schauen...

BG Minion
Mitglied: 73234
Solution 73234 Apr 08, 2020 at 20:35:45 (UTC)
Goto Top
Gelöst, das Programm läuft am 64bit Office!

Basis zur Lösung bildete dieser Artikel:
Installation von 32/64 bit jeweils auf der anderen Konstruktion

In meinem Fall:
D:\AccessDatabaseEngine.exe /passiv /quiet
Also die 32-bit 2016 zum Office 2016 64 bit hinzuinstalliert!

office2016  driver 32

Nun muss sich noch zeigen, dass die Datenbank weiterhin stabil läuft ...

Fazit: Ich hoffe, dass das noch jemand mal braucht!