LabVIEWForum.de
DB Open Connection - funktioniert in Exe; im VI nicht - 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: DB Open Connection - funktioniert in Exe; im VI nicht (/Thread-DB-Open-Connection-funktioniert-in-Exe-im-VI-nicht)



DB Open Connection - funktioniert in Exe; im VI nicht - eb - 07.09.2012 14:25

Guten Tag allerseits,

Ich hoffe mir kann geholfen werden, ich bin ein wenig am verzweifeln.
Vor geraumer Zeit, habe ich mir ein Log-Tool geschrieben, dass Einträge in eine Microsoft Access Datenbank (.mdb-Datei) schreibt. Nun kamen weitere Anforderungen an das Tool und ich war guter Dinge, hatte ich es doch relativ sauber strukturiert programmiert.
Leider stellte ich fest, dass das VI in der IDE nicht mehr lauffähig war (aber ausführbar), da die Verbindung mit der Datenbank-Datei nicht mehr geöffnet werden konnte. Kurioserweise klappt der Zugriff weiterhin, wenn ich das VI in eine Exe kompiliere.

Hier ein CodeSchnipsel, der früher geklappt hat. Sowohl in der IDE, als auch in der EXE:
[attachment=41476]

Ich benutze:
LV2010 (+DB Conn TK)
MS Access 2003

Ist eventuell der Connection String nicht ganz korrekt?
Die Datenbank-Datei hat kein Passwort oder sonstige Einstellungen bekommen.
In den ODBC-Datenquellen-Einstellungen habe ich nichts weiter eingestellt. Da existiert unter anderem ein nicht weiter eingestellter Name "Microsoft Access-Datenbank"-Eintrag - Treiber "Microsoft Access Driver (*.mdb)" (ohne verknüpfe Datei, ohne sonstige Vorgaben)

Könnt ihr euch einen Reim darauf machen? Was kann ich noch testen?


Danke für eure Zeit
Gruß


RE: DB Open Connection - funktioniert in Exe; im VI nicht - Y-P - 07.09.2012 14:56

Kommst Du mit "Create Data Link" auf Deine DB? Und welches Betriebssystem hast Du?
Vielleicht hilft Dir auch das:
http://digital.ni.com/public.nsf/allkb/E7984C0DA0F0E65086257694005B4CB7

Gruß Markus


RE: DB Open Connection - funktioniert in Exe; im VI nicht - eb - 07.09.2012 15:48

Hallo Y-P,

danke für deine schnelle Antwort.

Ich benutzte WinXP 32bit, insofern trifft der Link nicht ganz zu glaube ich. Aber er hat mich auf eine Idee gebracht...
Ich habe mir "Create Data Link" angeschaut. Mit "Microsoft Jet 4.0 OLE DB Provider" eine Verbindung zu meiner Datenbank-Datei getestet. Heraus kam:
[attachment=41477]

Jetzt aber kommts. Meine Idee war nun: "Probier es mal mit der neuen LV2012 aus, die hast du dir doch vor kurzem zu Testzwecken installiert." Und siehe da, sowohl das oben gepostete Test-VI, als auch die Testverbindung mittels "Create UDL..." funktioniert problemlos! Was aber heißt das nun?
Habe ich mir mit der Installation von LV2012 mein DB Conn TK "zerschossen". Wie kann es dann sein, dass es in einer kompilierten Exe funktioniert.


Danke für die Hilfe


RE: DB Open Connection - funktioniert in Exe; im VI nicht - Y-P - 07.09.2012 16:06

Das hört sich sehr seltsam an, dass aus einem nicht funktionierenden VI eine funktionierende EXE wird und dass das nicht funktionierende VI aber unter einer neueren LabVIEW-Version läuft.
Hast Du schon mal versucht, Dein Database Connectivity Toolkit nochmal neu zu installieren?
Ich kann mir das nicht erklären, aber ich kenne mich da leider in der Tiefe auch nicht wirklich aus. Das ist dann eher was für RolfK. Big Grin

Gruß Markus

(07.09.2012 15:48 )erik.brenncke schrieb:  Testverbindung mittels "Create UDL..." funktioniert problemlos! Was aber heißt das nun?
Habe ich mir mit der Installation von LV2012 mein DB Conn TK "zerschossen". Wie kann es dann sein, dass es in einer kompilierten Exe funktioniert.



RE: DB Open Connection - funktioniert in Exe; im VI nicht - eb - 10.09.2012 10:42

Hallo nochmal,

der Hinweis mit dem "reparieren" des DB Conn TK war goldrichtig! Ich habe einfach unter Software ändern/hinzufügen in diesem NI-Wizard das LV2010 DB Conn TK ausgewählt und repariert.
Siehe da: nach einer kurzen Weile war er fertig und das VI funktioniert nun sowohl in LV2010, als auch in LV2012.

Danke für den Hinweis.
Gruß