接続文字列のSQL Server Compactの「データディレクトリ」マクロ-詳細が必要
-
06-07-2019 - |
質問
したがって、このmsdnページで説明されているように、定義するときの接続文字列 SQL Server Compact 3.5では、「データディレクトリ」を使用できます。次のようなマクロ:
データディレクトリのサポート
SQL Server Compact 3.5は、データディレクトリマクロをサポートするようになりました。つまり、文字列| DataDirectory |を追加すると、 (パイプ記号で囲まれた)ファイルパスに、データベースのパスに解決されます。たとえば、接続文字列を考えてみましょう:
"データソース= c:\ program files \ MyApp \ Mydb.sdf"
データディレクトリを使用する場合、代わりに次の接続文字列を使用できます。
"データソース= | DataDirectory | \ Mydb.sdf"
詳細については、「方法:アプリケーションでSQL Server Compact 3.5データベースを展開する」を参照してください。
ただし、msdnの「詳細情報」リンクでは、実際にはそれ以上の情報は提供されません。
だから私の質問は:
どのように|データディレクトリ|マクロは実行時に変換されますか? WinFormアプリの場合、実行可能ファイルの場所を提供するだけのようです。それともそれよりも複雑ですか?
解決
DataDirectoryプロパティを設定するには、AppDomain.SetDataメソッドを呼び出します。 DataDirectoryプロパティを設定しない場合、次のデフォルトルールがデータベースフォルダーへのアクセスに適用されます:
- に配置されるアプリケーションの場合 ユーザーのコンピューター上のフォルダー、 データベースフォルダはアプリケーションを使用します フォルダー。
- 実行中のアプリケーションの場合 ClickOnceの下のデータベースフォルダー 特定のデータフォルダを使用します 作成されました。
他のヒント
このリンクを確認してください: http://msdn.microsoft.com/en-us/library/aa478948.aspx
| DataDirectory |接続文字列の一部は、MDFファイルがApp_Dataディレクトリにあることを指定します。