0

データベースへの接続を常に利用できるようにしたいので、プロジェクトを含むフォルダーを別のコンピューターに移動すると、接続が自動的に確立されます。それで、どうすればこの接続を変更できますか:

this.oleDbConnection1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"C:\\Documents and Settings\\Cristi\\Do" +
                "cuments\\Visual Studio 2008\\Projects\\WindowsApplication3\\bd1.mdb\"";

??? プロジェクトディレクトリなどを読み取る必要があります。知らない。何か案は?ありがとう!

4

2 に答える 2

2

アクセスデータベースをプロジェクトに追加し、ファイルのプロパティで[出力ディレクトリにコピー]プロパティを[常にコピー](または、必要に応じて[新しい場合はコピー])に設定すると、次のような接続文字列を使用できます。

this.oleDbConnection1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\".\\bd1.mdb\""; 

データベースはバイナリと同じフォルダにあるため、これは機能します。

同様に、実行中のアセンブリが配置されている場所を基準にした、データベースへの相対パスを使用できます。

于 2010-05-11T16:29:29.497 に答える
0

接続文字列で相対パスを使用したいようです。

このようなもの:

this.oleDbConnection1.ConnectionString = 
"Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + 
Server.MapPath("~\\MyData\\MyDatabase.mdb"); 

これは/MyData、アプリケーション内のディレクトリに対応します。.mdbファイルが[意図しない]不正なプレイに見える可能性があるというセキュリティ上の懸念に注意してください。

于 2010-05-11T16:25:38.617 に答える