質問

したがって、このmsdnページで説明されているように、定義するときの接続文字列 SQL Server Compact 3.5では、「データディレクトリ」を使用できます。次のようなマクロ:

このmsdnページからの引用

  

データディレクトリのサポート
  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ディレクトリにあることを指定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top