Benutzer mit den meisten Antworten
Access_DB Anbindung mit Variable

Frage
-
Nutze OLEDB-Anbindung
dbProv =
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\NM_View\KB_DB.mdb"
' dbSource1 = " Data Source="
' dbSource2 = str_KB01 + "\KB_DB.mdb;"
' dbSource3 = ";Jet OLEDB:Database Password ="
' dbSource3 = ";Jet OLEDB:Database Password = KB"
Con.ConnectionString = dbProv
' & dbSource1 & dbSource2
' & dbSource3
und möchte eigentlich die Pfadangabe als Variable(aus INI-Datei) übergeben. Bei der Entwicklungsumgebung kein Problem. Bei Nutzung auf anderem System kommt die Meldung "Installierbares ISAM nicht gefunden". Also erst einmal den Connection-String fest verdrahtet - siehe oben - und die variable Lösung auskommentiert. Das funktioniert. Hilft mir aber auf Dauer nicht weiter.
Was muss ich anpassen?
Danke im Voraus
Antworten
-
Hallo zusammen,
Eure Vermutung mit der dem INI-Eintrag war richtig. Bei meiner händischen INI war alles korrekt, bei der INI, die per Setup eingerichtet wurde und den Verweis auf das Arbeitsverzeichnis sicherstellen sollte, war zusätzlich ein "=" eingefügt, sodaß es bei der Soruce-Angabe zu einem Fehler kam.
Herzlichen Dank für Eure Bemühungen
Gruß Norbert
- Als Antwort markiert Norbert Mende Freitag, 19. November 2010 06:24
Alle Antworten
-
Hi,
da fehlt AFAICS nur "Provider=Microsoft.Jet.OLEDB.4.0;" im ConnectionString.
Wenn der Rest eh statisch ist, könntest Du es bspw. so machen:
dbProv = String.Format( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}\KB_DB.mdb; Jet OLEDB:Database Password=KB;", <VariableFürPfad> )
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hallo Stefan,
habe Deinen String eingebaut, funktioniert auf dem Entwicklungsrechner, auf dem Zielrechner leider wieder das unbefriedigende Ergebnis "Installierbarers ISAM nicht gefunden". Als die Variable wieder fest verdrahtet, dann läuft es.
Fällt Dir dazu noch etwas ein?
Gruß Norbert
-
Hallo Norbert,
habe Deinen String eingebaut, funktioniert auf dem Entwicklungsrechner, auf dem Zielrechner leider wieder das unbefriedigende Ergebnis "Installierbarers ISAM nicht gefunden". Als die Variable wieder fest verdrahtet, dann läuft es.
wenn die Strings absolut identisch sind, kann das nicht sein. Da dürfte dann eher doch was in deinem Code (oder dieser ominösen Ini-Datei) nicht stimmen.
Nur zur Sicherheit:
dbProv = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\NM_View\KB_DB.mdb; Jet OLEDB:Database Password=KB;"
funktioniert?
dbProv = String.Format( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}\KB_DB.mdb; Jet OLEDB:Database Password=KB;", "D:\NM_View" )
funktioniert nicht?
Oder steht evtl. in der Ini-Datei was ganz anderes?
Lass dir mal dbProv ausgeben. Wenn der String identisch ist und mit einer fixen Variante funktioniert, muss er mit der anderen Variante auch funktionieren, ansonsten sind die Strings eben doch nicht identisch.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hallo Norbert,
ergänzend zu Stefans Antworten:
Tue Dir selbst einen Gefallen und verwende den OleDbConnectionStringBuilder
Weiteres siehe auch: Arbeiten mit VerbindungszeichenfolgenDer Jet Treiber wiederum ist auf allen aktuellen Betriebssystemen enthalten.
Nur für ganz alte Schätzchen wäre noch erforderlich:
So erhalten Sie das aktuelle Service Pack für die Microsoft Jet 4.0-Datenbank-EngineGruß Elmar
-
Hallo zusammen,
Eure Vermutung mit der dem INI-Eintrag war richtig. Bei meiner händischen INI war alles korrekt, bei der INI, die per Setup eingerichtet wurde und den Verweis auf das Arbeitsverzeichnis sicherstellen sollte, war zusätzlich ein "=" eingefügt, sodaß es bei der Soruce-Angabe zu einem Fehler kam.
Herzlichen Dank für Eure Bemühungen
Gruß Norbert
- Als Antwort markiert Norbert Mende Freitag, 19. November 2010 06:24
-
Hallo Norbert,
da dein Posting ja nicht die Antwort beinhaltet, sondern nur die Erklärung, wäre es prima, wenn Du das/die Posting(s) als Antwort markieren könntest, die dich zur Lösung gebracht haben.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community