VS 2012で2008 SQL Expressデータベースファイルへの接続文字列を構築しようとしています。エラーダイアログが表示されます。
このデータベースファイルは、SQL Serverの現在のインスタンスと互換性がありません。この問題を解決するには、新しいデータ接続を作成してデータベースファイルをアップグレードするか、このデータベースファイルへの既存の接続を変更する必要があります。詳細については、 http://go.Microsoft.com/fwlink/?LinkId=235986 を参照してください。
マイクロソフトの常に素晴らしいドキュメント(咳、咳など)へのリンクをたどりました。データベースのアップグレード機能を実行したときに、ファイルをアップグレードするためのプロンプトが表示されませんでした。 SQL Express 2008をインストールする代わりに、LocalDbを使用することを本当に望んでいました。
その他:Visual Studioは、これらすべての年の後にエラーダイアログのリンクをクリックすることを実装しなかったのはなぜですか?実装するのは本当に難しいですか?
数秒前の私の経験から:
Visual Studio 2012で古いSQL Server Express
.mdf
ファイルを開こうとするのを忘れてください。古いVS 2010ソリューションからVS 2012への変換プロセス中に、データベースファイルをダブルクリックするだけでそれを行うことができます。代わりにLocalDbを使用するようにアップグレードしてください。それは完全な嘘です! :D
SQL Server Management Studio を開き、Databases
ノードを選択して右クリックし、Attach...
を選択します。
.mdf
ファイルのパスを入力し、[OK]をクリックすると、問題ありません。
次にVisual Studio 2012
内でServer Explorer
(メニューView -> Server Explorer
)を開き、Data Connections
を右クリックして[Add Connection...
]を選択します。 Server name:
に(localdb)\v11.0
を入力し、Connect to a database:
に以前接続したデータベースを選択します。
Data Connection
に追加したSolution Explorer
を右クリックし、Properties
を選択します。 Connection String
プロパティをコピーし、Web.Config
またはApp.Config
をこの値に置き換えます。
注:SQL Server Management Studio
で、DayPilotのこのサンプルプロジェクトから取得した古い.mdf
ファイルを添付しようとしたときにエラーが発生しました: Scheduler for ASP.NET MVC 4 Razor(C#、VB.NET、SQL Server) 。これは、.log
データベースファイルに付随する.mdf
ファイルに関するパスの問題に関連していました。 .log
ダイアログウィンドウでAttach...
ファイルエントリを選択して削除しました。次に、データベースを再度アタッチしようとしましたが、機能しました。
私の簡単な方法:
あなたはただ行うことができます:
USE [master]
GO
CREATE DATABASE [database_name] ON
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\<database name>.mdf' ),
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\<database name>.ldf' )
FOR ATTACH ;
GO
ここで説明されているように: http://technet.Microsoft.com/en-us/library/ms165673%28v=sql.105%29.aspx
visualStadio 2012に移動します。サーバーエクスプローラーでWindowsのデータ接続を開きます。
sqlサーバー管理スタジオを開きますlocalDBを接続して削除同じ名前のmdfファイルをデタッチしてから、mdfファイルを添付してください
サーバーエクスプローラーのビジュアルスタジオに移動します->データ接続データベースを右クリックします->接続を変更します->テキスト接続-> [OK]をクリックします