【解決方法】Visual Studio 2017 にインポートするときに SQL Server Express localdb 2014 (.mdf) の 782 バージョンが尊重されるようにする

プログラミングQA


ごきげんよう、

SQL Express 2014 で生成したデータベースがあります (現在のバージョンは 12.0.2000.8)。

ただし、(サーバーから独立させるために) ローカル コピーとして Visual Studio 2017 に追加すると、バージョンが変更され、更新されることに気付きました。 私の理解では、この理由は、Visual Studio には 2014 年ではなく 2016 年の SQL Local Database ツールとパッケージがあり、ファイルのバージョンが管理されるためです (これを確認するには、.mdf が解決策 ディレクトリに統合された後、解決策 ディレクトリから取得して確認しました)。アプリケーションを作成し、SQL Server にアップロードし直します。上位バージョンであるため、読み取りエラーが発生します)。

これは、展開において、ユーザーが SQL Express LocalDB 2014 および .NET Framework 4 パッケージ (アプリケーションを Windows XP と互換性を持たせるためにこの .NET を使用しています) をインストールしたとしても、アプリケーションはデータベースにアクセスできず、クラッシュすることを意味します。

この状況は、以前の試みでは、アプリケーションが開発されたラップトップでは展開されたアプリケーションを開くことができたが、コンピューターを切り替えると開かなかったという事実によってさらに裏付けられます。 これは、当時は理解できませんでしたが、私のコンピュータには読み取りに必要なパッケージが存在するという事実によるものでした。

私が試したこと:

そこで、2014 年以降の SQL パッケージをすべて削除し、Visual Studio 2017 のトレースもすべて削除しました。そして、ここで問題が発生します。プロジェクトに .mdf を再度追加しようとすると、追加できないことがわかります。問題が発生したのと同じ拡張機能をインストールしない場合は、そうしてください。

結論として、データベースのバージョンを閉じる方法 (これは互換性の問題であることは理解しています) が必要です。これにより、データベースの読み取りと書き込みは可能ですが、そのバージョンは一切変更されません。 それは可能だと思いますが、どうすればよいのかわかりません。 可能であれば、Visual Studio 2017 を使用して、元のデータベースを変更しないツールを使用してデータベースを追加することもできます。

この問題に協力していただける方に心より感謝いたします。

よろしく

コメント

タイトルとURLをコピーしました