ホームページ >バックエンド開発 >C++ >app.config 接続文字列で SQL Express MDF ファイルの相対パスを使用するにはどうすればよいですか?

app.config 接続文字列で SQL Express MDF ファイルの相対パスを使用するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-28 22:02:10387ブラウズ

How Can I Use a Relative Path for My SQL Express MDF File in the app.config Connection String?

SQL Express 接続文字列: 相対 MDF ファイル パスの使用

問題:

開発者は、 app.config ファイル内のアプリケーション ディレクトリを基準とした SQL Express MDF ファイルの場所。彼らは、絶対パスを手動で定義することを避けたいと考えています。これは、アプリケーションが別の場所にデプロイされる場合に面倒になります。

解決策:

1. |DataDirectory| を使用します:

|DataDirectory| Web アプリケーション専用ではありません。 Web アプリケーションとデスクトップ アプリケーションの両方で使用できます。これは、アプリケーションがデータ ファイルを見つけることを予期するディレクトリを表します。

2. |データディレクトリ| を設定します。プログラム的に:

If |DataDirectory|はアプリケーションによって自動的に設定されません。AppDomain.CurrentDomain.SetData("DataDirectory", path)

を使用してプログラムで設定できます。構成例:

アプリ内.config ファイル:

<add name="MyConnectionString"
    connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" />

単体テストの初期化中method:

[TestInitialize]
public void TestInitialize()
{
    AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases"));
}

このアプローチを使用すると、単体テスト環境であっても、接続文字列はアプリケーション ディレクトリを基準とした MDF ファイルへの相対パスを自動的に使用するようになります。

以上がapp.config 接続文字列で SQL Express MDF ファイルの相対パスを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。