Als Ergänzung:
Im Grunde ist die
ODBC Geschichte erstmal nur eine weitere Fehlerquelle. Du kannst auf 3 Level (Datei,User,System) Datenquellen definieren. Spätestens bei Systemdatenquellen ist das (auch) ein Rechteproblem. Dann hast Du das noch als 32 bit und 64bit, führt auch immer wieder zu Verwirrung.
Wenn überhaupt würde ich erstmal zu Fuß eine Datei
ODBC anlegen (außerhalb des Programms, ohne Code) und die einfach benutzen. Die gesparte Zeit kannst Du dann in die Datenbankprogrammierung stecken.
Einen
ADO Connectionstring kannst Du selbst festlegen wie Du magst und kommst auch an die
DB.
Auch das kannst Du dem User überlassen, indem du ein UDL File verwendest, das der User anlegen muss.
Dazu gibt es hier sicher auch schon mehrere Beiträge.
UDL Files anlegen: Explorer, Neu, Textdatei, umbenennen nach *.udl, Doppelklick auf die Datei startet einen Windows System Assistenen zur Abfrage der notwendigen Parameter (inkl. Verbindungstest). Die fertige Datei enthält den Connectionstring.