SQL Server 2014 Expressを使用してサンプルデータベースを作成し、Windowsフォームソリューションに追加しました。ダブルクリックして開くと、このエラーが発生します。
データベースはバージョン782であるため、開くことができません。このサーバーはバージョン706以前をサポートしています。ダウングレードパスはサポートされていません
Visual Studio 2013を使用しています。Microsoft製品の2つの最新バージョンを使用しており、それらに互換性がないことを本当に理解していません。何か不足していますか?このデータベースを開くにはどうすればよいですか?
変更してみてください Tools > Options > Database Tools > Data Connections > SQL Server Instance Name。
VS2013のデフォルトは(LocalDB)\v11.0
です。
たとえば、(LocalDB)\MSSQLLocalDB
への変更は機能しているようです-バージョン782エラーはもうありません。
互換性レベルを変更してみてください、私のために働いた。
レベルを確認します
USE VJ_DATABASE;
GO
SELECT compatibility_level
FROM sys.databases WHERE name = 'VJ_DATABASE';
GO
次に、古いバージョンとの互換性を持たせます
ALTER DATABASE VJ_DATABASE
SET COMPATIBILITY_LEVEL = 110;
GO
既定では、SQL Server 2014はdbバージョンの互換性を2014のみに変更し、@@ version
を使用して、SQL Serverのバージョンを確認できます。
次に、上記のコマンドを実行して、使用しているバージョンを変更します。
追加の手順:DBのアクセシビリティがリセットされていないことを確認します。これは、フォルダーとデータベースのプロパティを右クリックして行います。 (アクセスが拒否されないように権利があることを確認してください)
codedomが提供するソリューションを使用している私にとってはうまくいきませんでした。ここでは、既存のデータベースの互換バージョンのみを変更できます。
しかし、実際の問題は、ストレージ形式の変更により一致しない内部データベースバージョンです。
SQL Serverのバージョンとその内部dbバージョンとDB互換性レベルの詳細を確認してください hereSQL Server 2012 Express version以下を使用してデータベースを作成するとよいでしょう。または、Visual Studio 2015 Previewの使用を開始します。
この解決策は私の問題を解決します:(from: https://msdn.Microsoft.com/en-us/library/ms239722.aspx )
データ接続ノードからデータベースファイル(.mdf)を永続的に添付するには
データ接続のショートカットメニューを開き、[新しい接続の追加]を選択します。
AddConnectionダイアログボックスが表示されます。
Changeボタンを選択します。
データソースの変更ダイアログボックスが表示されます。
Microsoft SQL Serverを選択し、OKボタンを選択します。
Add Connectionダイアログボックスが再び表示され、Microsoft SQL Server(SqlClient)がデータソースに表示されます テキストボックス。
[サーバー名]ボックスに、SQL Serverのローカルインスタンスへのパスを入力または参照します。次を入力できます。
SQL Server Express LocalDBおよびSQL Server Expressの詳細については、「 ローカルデータの概要 」を参照してください。
Use Windows AuthenticationまたはUse SQL Server Authenticationのいずれかを選択します。
データベースファイルを添付、参照を選択し、既存の.mdfファイルを開きます。
OKボタンを選択します。
サーバーエクスプローラーに新しいデータベースが表示されます。明示的にデタッチするまで、SQL Serverに接続されたままになります。
別の解決策は、たとえば、データベースを「エクスポート」するときにデータベースを2012などに移行することです。 SQL Serverマネージャー2014。これは、[タスク]メニューの[DBを右クリックしてスクリプトを生成する]で行います。この指示に従ってください:
https://www.mssqltips.com/sqlservertip/2810/how-to-migrate-a-sql-server-database-to-a-lower-version/
すべてのスクリプトを生成し、SQLサーバーマネージャーで実行します。 2012は、指示に従ってスクリプトを実行します。私はテストを成功させました。
VS 2017を使用します。デフォルトでは、SQL Serverインスタンス名は(LocalDB)\ MSSQLLocalDBです。ただし、@ user3390927の回答のようにデータベースの互換性レベルを110にダウングレードすると、VSにデータベースファイルを添付し、サーバー名を「localhost\SQLExpress」として選択できます。