ConnectionString für Access-DB nach der Installtion

25/01/2008 - 00:16 von Christian Stelte | Report spam
Hallo!

Ich habe eine mdb-Datenbank im Projektmappen-Explorer hinzugefügt. Daraufhin
im Datenquellen-Assistent die benötigte Tabelle ausgewàhlt. Nach abschluss
dieses Assitenten wird ja ein DBNameDataSet.xsd und ein ConnectionString in
der app.config erstellt. Bei der Datenbank habe ich in der Eigenschaft
"Buildvorgang" den Wert "Inhalt" und "In Ausgabeverzeichniss kopieren" auf
"Immer kopieren" eingestellt

Da ich dann nichts mit diesem XSD anzufangen wusste und auch erst mal
weiterkommen wollte, habe ich eine Verbindung zur Datenbank wie folgt
hergestellt:

private void OpenDB()
{
private DataSet DS = new DataSet();
private OleDbConnection ODCAccess = new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data SourceÛName.mdb");

OleDbCommand OLCmd = new OleDbCommand("SELECT * FROM tblName", ODCAccess);
OleDbDataAdapter ODDA = new OleDbDataAdapter(OLCmd);

ODCAccess.Open();
ODDA.Fill(DS, "tblName");
ODCAccess.Close();
}

Das klappt auch ganz gut, bis Installation des veröffentlichten Programms.
Hier installiert er die Datenbank in ein anderes Verzeichniss als die
Anwendung:

DB nach
C:\Users\Chris\AppData\Local\Apps\2.0\4T3ZY6DX.CHC\0T6X2618.HOW\hand...exe_1988e407bc5aeb80_0001.0000_none_5e6dfac1981bd2fe\
Anwendung nach
C:\Users\Chris\AppData\Local\Apps\2.0\4T3ZY6DX.CHC\0T6X2618.HOW\hand..tion_1988e407bc5aeb80_0001.0000_012ba3d56748b875\

Wo ist mein Denkfehler? Bzw. wie komme ich an den Datenbank-Pfad zur
Laufzeit? Oder noch besser, wie nutze ich die erstellte XSD-Datei korrekt?
Denn in der app.config steht der der ConnectionString ja warscheinlich
korrekt mit "Data Source=|DataDirectory|\DBName.mdb"

Aber irgendwie komme ich da nicht weiter, bzw. es erschliest sich mir noch
nicht. Ich möchte letztendlich ein DataSet (oben im Quelltext DS).

Thx!
Chris
 

Lesen sie die antworten

#1 Christian Stelte
25/01/2008 - 22:21 | Warnen spam
"Christian Stelte" schrieb

Denn in der app.config steht der der ConnectionString ja warscheinlich
korrekt mit "Data Source=|DataDirectory|\DBName.mdb"



Ich habs:

private OleDbConnection ODCAccess = new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
SourceÛName.mdb");



ersetzen durch

private OleDbConnection ODCAccess = new
OleDbConnection(Properties.Settings.Default.DBNameConnectionString1);



wenn man, wie im ersten Posting geschrieben, die Datenbank in den
Projektmappenexplorer zieht.

Chris

Ähnliche fragen