1

私はデータを保存する必要があるwinformsデスクトップアプリケーションに取り組んでいます。私はデータベースを埋め込もうとするという本当に悪い決断をしました。私はもう試した:

  • SQLite
  • VistaDB
  • SQL Server Compact

いずれの場合も、作成した基本スキーマに対してEntityFrameworkModelを生成することができました。これらのデータベースのテストに使用しているデータを追加するイベントがあります。

さて、EFを使用して新しいレコードを追加し続けましたが、実際にはレコードが挿入されていないことがわかりました。デバッグでは、コンテキストオブジェクトをチェックして、何が起こっているかを確認しました。「基盤となるプロバイダーを開くことができませんでした」などと言っていることがわかります。例外をスローするのではなく、レコードを挿入するだけではありませんでした。

3つの組み込みデータベースすべてで同じことが起こりました。つまり、構成に何か問題があるはずだということを、密集した頭の中を通り抜けるように促しました。

さて、私はsqlconnectionとsqlcommandを使用していくつかの基本的なSQLを書こうとしました。今回は例外をスローします。SQL Server Compactの場合、次のようになります。

SQL Serverへの接続の確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、およびSQLServerがリモート接続を許可するように構成されていることを確認してください。(プロバイダー:SQLネットワークインターフェイス、エラー:26-指定されたサーバー/インスタンスの検索エラー)

おそらく問題はapp.Configのパスだと思いました。そこで、接続文字列を次のように変更しました。

スペースがある可能性のあるものからパスを単純化し、デバッグディレクトリがデータディレクトリの事前設定された値と一致しない場合に問題を引き起こすデータディレクトリナンセンスの使用を回避したことに注意してください。私はWindows7を実行しています。アクセスの問題かもしれないと思ったので、管理者モードでVS2010を実行してみました。運がない。また、これはバグの可能性があると考えて、SQL ServerCompactSP2をインストールしました。運がない。

とにかく、髪を抜く準備ができています。私はこのことについて厳しい締め切りにあり、何が起こっているのかを理解しようとして一日を過ごすことを期待していませんでした。

4

1 に答える 1

1

SqlCeConnectionを使用する

于 2010-05-31T06:04:45.163 に答える