0

ASP.NET 3.5 Webサイトを作成し、サードパーティのテンプレートを介してモバイルフォームを追加しました(VSデザイナーは古いテンプレートをサポートしなくなったため)。ここで、Windows Mobile 6.0エミュレーターを使用してテストされる、アプリケーションでデータベース処理を使用したいと思います。SQL Server Compact CE 4.0を使用してプログラムでデータベースを作成するために、次のコードを記述しました。

SqlCeEngine engine = new SqlCeEngine("Data Source=Program Files\\Calculator\\Calc.sdf;password=abcd");
engine.CreateDatabase();

ただし、パスをどのように調整しても、「パスが無効です。データベースのディレクトリを確認してください」というエラーが常に表示されます。接続文字列のさまざまな組み合わせを試しましたが、無駄でした。何も機能しません。

編集:私はこの問題に関する他のさまざまなスレッドもここや他の場所で見ましたが、この場合の問題を解決するものは何もないようです。以下に示すように、マイドキュメントなどの他のフォルダも試しましたが、機能しませんでした。

SqlCeEngine engine = new SqlCeEngine("Data Source='\\My Documents\\Calculator\\Calc.sdf';password=abcd");

よろしくお願いします。

4

1 に答える 1

0

答えはありませんでしたが、最終的には自分で解決しました。.sdf は、アプリケーションを展開しているローカル マシン/サーバーからのみアクセスされているようです。したがって、パスはサーバー (この場合はローカル マシン) に関連付けられます。

したがって、私にとって、これは正常に機能したコードです。

path = Server.MapPath("~/App_Data");

SqlCeEngine engine = new SqlCeEngine("Data Source='" + path + "\\Calculator.sdf';password=abcd");
于 2012-05-07T12:04:31.837 に答える