4

アプリケーションから SQL Server CE データベースを使用しています。私のプログラムは DVD にあります。

DVD のデータベースからデータを読み取ることができません。SQL 接続文字列モードを読み取り専用に設定しましたが、機能しません (データベースからデータを読み取りたいだけです)。

エラー:

データベースを読み取り専用として開くには、一時パスを指定する必要があります。[データベース名 = C:\Users\Ali\AppData\Local\Temp\Rar$EX52.280...]

助けてください!

4

1 に答える 1

7

読み取り専用メディアでSQLServerCEデータベースファイル(SDF)を開くには、接続文字列に2つのパラメーターを追加する必要もあります。

  • モード=読み取り専用
  • 一時パス=[パス]

これは次のように行うことができます。

connectionString = String.Format(@"Data Source = {0}\{1};Mode = Read Only;Temp Path={2}", 
          dataBaseDirectory,
          dataBaseName, 
          System.IO.Path.GetTempPath());        

App.Configから接続文字列を取得している場合

https://stackoverflow.com/a/10731515/19624を参照してください

string connectionString = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
connectionString += ";Mode = Read Only;Temp Path=" + System.IO.Path.GetTempPath()); 
于 2012-07-02T07:55:53.437 に答える