LabVIEWForum.de
Aus Access-DB lesen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Aus Access-DB lesen (/Thread-Aus-Access-DB-lesen)

Seiten: 1 2


Aus Access-DB lesen - LabDevo_CLD - 09.05.2017 10:03

Hallo zusammen,

ich habe ein VI geschrieben, um aus einer Access-Datenbank mithilfe einer ID-Nummer zu lesen. Dabei erscheint folgende Fehlermeldung:

NI_Database_API.lvlibBig GrinB Tools Open Connec (String).vi->Database_GetID_Test.vi<ERR>ADO Error: 0x800A0E7A
Exception occured in ADODB.Connection: Der Provider kann nicht gefunden werden. Möglicherweise ist er nicht richtig installiert worden.Help Path is C:\Windows\HELP\ADO270.CHM and context 1240655 in NI_Database_API.lvlibBig GrinB Tools Open Connec (String).vi->Database_GetID_Test.vi

Es scheint Probleme mit dem Provider zu geben? Ich glaube das könnte daran liegen, da ich hierbei mit unterschiedlichen Architekturen arbeite: Labview (32-Bit) und Access DB (64-Bit)

Wie schaffe ich es dennoch, aus der DB zu lesen?


RE: Aus Access-DB lesen - jg - 09.05.2017 10:12

(09.05.2017 10:03 )LabDevo_CLD schrieb:  Es scheint Probleme mit dem Provider zu geben? Ich glaube das könnte daran liegen, da ich hierbei mit unterschiedlichen Architekturen arbeite: Labview (32-Bit) und Access DB (64-Bit)
Ja, das könnte das Problem sein.
(09.05.2017 10:03 )LabDevo_CLD schrieb:  Wie schaffe ich es dennoch, aus der DB zu lesen?
Du brauchst eine 32bit-Version des Access ODBC Treibers.

Gruß, Jens


RE: Aus Access-DB lesen - Freddy - 09.05.2017 10:31

Hallo LabDevo_CLD,
Das Lese VI benötigt den Namen der Tabelle die gelesen werden soll.
Bei Dir sieht das so aus, als würdest Du den Namen der Datenbank übergeben.

Gruß
Freddy


RE: Aus Access-DB lesen - rolfk - 10.05.2017 12:48

(09.05.2017 10:03 )LabDevo_CLD schrieb:  Hallo zusammen,

ich habe ein VI geschrieben, um aus einer Access-Datenbank mithilfe einer ID-Nummer zu lesen. Dabei erscheint folgende Fehlermeldung:

NI_Database_API.lvlibBig GrinB Tools Open Connec (String).vi->Database_GetID_Test.vi<ERR>ADO Error: 0x800A0E7A
Exception occured in ADODB.Connection: Der Provider kann nicht gefunden werden. Möglicherweise ist er nicht richtig installiert worden.Help Path is C:\Windows\HELP\ADO270.CHM and context 1240655 in NI_Database_API.lvlibBig GrinB Tools Open Connec (String).vi->Database_GetID_Test.vi

Es scheint Probleme mit dem Provider zu geben? Ich glaube das könnte daran liegen, da ich hierbei mit unterschiedlichen Architekturen arbeite: Labview (32-Bit) und Access DB (64-Bit)

Wie schaffe ich es dennoch, aus der DB zu lesen?

Das Problem ist wahrscheinlich dass Du den ODBC Manager aus der Systemsteuerung aufrufst. Dabei rufst Du die 64 Bit Version auf und die zeigt zwar sowohl 32 Bit als auch 64 Bit User Datensourcen an (aber nur 64 Bit System Datensourcen). Aber um eine Datensource von einer 32 Bit Applikation ansprechen zu können muss diese auch von der 32 Bit Version des ODBC Managers erzeugt werden (und muss natürlich ein 32 Bit Trieber für Deine Datenbank auf dem Computer installiert sein!!).
Dazu rufst Du den 32 Bit OCBC Manager in %windir%\SysWOW64\odbcad32.exe auf. Dann sollte es gehen.


RE: Aus Access-DB lesen - LabDevo_CLD - 18.05.2017 15:02

Vielen Dank für die Antwort.
Aber wie rufe ich den 32 Bit OCBC Manager genau auf. Mache ich das dann über LV?


RE: Aus Access-DB lesen - Freddy - 18.05.2017 15:09

Du Konfigurierst unter Windows einen ODBC Treiber mit der Datenbank die Du verwenden willst.
Diese Konfiguration hat einen Namen.
Den setzt Du ein wie unten im Bild.

Gruß
Freddy


RE: Aus Access-DB lesen - LabDevo_CLD - 19.05.2017 10:57

Okay das habe ich bereits verstanden.

Kann ich die oledb32.dll irgendwo runterladen? Ich habe diesen noch nicht.
Aber da ich bereits eine Datenbank unter der 64 Bit Version habe und ich ja aus dieser lesen möchte funktioniert das dann überhaupt wenn ich für meine UDL einen 32-Bit triber verwende?


RE: Aus Access-DB lesen - Freddy - 19.05.2017 11:10

Zitat:Kann ich die oledb32.dll irgendwo runterladen? Ich habe diesen noch nicht.
Das würde ich einfach mal googlen.

Wenn Du LabView mit 32Bit verwendest, dann benötigst Du einen ODBC Treiber 32Bit.

Gruß
Freddy


RE: Aus Access-DB lesen - LabDevo_CLD - 19.05.2017 13:46

Nach langem suchen bin ich darauf gekommen, dass dies so nicht geht.
Ich kann keine 64 Bit Datenbank mit einem 32 Bit Treiber "betreiben":

https://answers.microsoft.com/en-us/office/forum/office_2016_preview-access/win-10-odbc-ms-access-accdb-not-available/c76ed684-aefa-4c68-8c62-4cb79cd7dc30?auth=1

Gibt es noch eine andere Möglichkeit Werte aus dieser DB zu holen?
Habe schon geschaut über VBA Makros allerdings unterstützt LV nur Excel Makros und keine Access.
Oder wäre es möglich eine C Code zu implementieren?
Bin über jeden Tipp dankbar Wink.


RE: Aus Access-DB lesen - jg - 19.05.2017 14:57

Also ich versteh den Beitrag anders. Es sollte IMHO schon gehen, du brauchst bloß die korrete Bitness-Version beim Access Database Engine.

Jetzt musst du nur nach dem Passenden zu deiner Access-Version suchen.

Hier z.B. Acccess 2016: https://www.microsoft.com/en-us/download/details.aspx?id=54920

Alternativen:
  • 32bit-Version von Office bzw. Access installieren
  • Muss es Access sein? Wie wäre es mit einem MS SQL Express Server!

Gruß, Jens