web-dev-qa-db-ja.com

LocalDb MDFファイルの使用

Azure WebサイトでホストするASP.NET MVC Webサイトを開発しています。開発中に、App_DataディレクトリでMDFファイルを使用して、次のような接続文字列を使用しました。

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=MyApp;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\MyApp.mdf;MultipleActiveResultSets=true" providerName="System.Data.SqlClient"  />

Azureで試してみるには、この接続文字列をそのまま残して、MyApp.mdfを単にAzureのApp_DataフォルダーにFTPで送信できるようにしたいと考えていました。ただし、自分のサイトにアクセスしようとすると、次のエラーが発生しました。

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

私の質問は、App_Dataフォルダー内のMDF=ファイルに接続するAzure Webサイトを実行する方法はありますか、またはAzure SQLデータベースを使用する必要がありますか?

43
Mark Heath

App_Dataで.mdfファイルを使用することはできませんが、SQL Azureを使用する必要はありません。SQLServer Compactを使用できます。 Code First Migrationsを使用している場合、LocalDBからCompactへの展開は簡単です。それ以外の場合は、展開する前にSQL Server Compactに移行する必要があります。 Compactを使用する場合は、データベースエンジンを展開する必要があります。そのための手順は、このチュートリアルに記載されています。

http://www.asp.net/mvc/tutorials/deployment/deployment-to-a-hosting-provider/deployment-to-a-hosting-provider-deploying-sql-server-compact-databases- 2-of-12

32
tdykstra

Webサイト/クラウドサービス機能を使用するには、SQL Azureを使用する必要があります。

まだ公開していない場合は、Web展開を使用したweb.config変換を見て、公開作業を簡単にすることができます。

http://msdn.Microsoft.com/en-us/library/dd465318(v = vs.100).aspx

http://www.hanselman.com/blog/TinyHappyFeatures3PublishingImprovementsChainedConfigTransformsAndDeployingASPNETAppsFromTheCommandLine.aspx

管理ツールを使用してSQL Azure DBにデータをインポートできます。SQLServer 2012を使用している場合は、ポータルを介してデータをインポート/エクスポートできます。

2
Bryan Wood