SQL ServerオブジェクトエクスプローラーにLocalDBを表示する方法がわかりません。一部のVMでは自動的に表示されますが、他のVMでは表示されません。それでも、何時間もグーグルで探した後、私はそれを取得しません。
エラーは言います:
System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.) ---> System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified
したがって、このVMでは、データベースは作成されず、SQL ServerオブジェクトエクスプローラーのSQL Server
ノードには何も表示されません。
C:\Users\<username>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB
のデフォルトのデータベースの場所にファイルが作成されているのを見ました。しかし、このVMには、そのようなフォルダーはありませんApp.config
は毎回このように見えました(そして、Visual StudioでEntity Framework 6 NuGetパッケージマネージャーをインストールしたときに自動的に作成されました)。<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
SQLException
のデバッグ方法がわかりません今日、VS2015 Community Edition Update 1を最近インストールしたときに同じ問題が発生しました。
VS2015セットアップインストーラーから「SQL Server Data Tools」を追加するだけで問題を修正しました= ...初めてインストーラを実行したとき、「デフォルト」ではなく「カスタム」インストールタイプを選択しました。どのインストールオプションが利用可能かを見たかったが、すでにチェックされていたものとは異なるものを選択したくなかった。私の想定では、すでにチェックされているものは基本的にデフォルトのインストールでした。しかし、そうではありません。
LocalDbがインストールされているかどうかを確認するには:
(localdb)\V11.0
への接続を試行します。それでもエラーが発生する場合は、Cannot connect to (localdb)\V11.0.
エラーが発生した場合、インスタンス名を(localdb)\MSSQLLocalDB
に変更し、接続を再試行してください。
LocalDbをインストールするには、次の手順に従います。
Start Menu
に移動し、検索sqlLocalDb
を入力します。sqlLocalDb.msi
を選択してクリックします。インストールが完了したら、SSMS
を再実行し、(localdb)\V11.0
または(localdb)\MSSQLLocalDB
のいずれかのインスタンスに接続してみてください。使用しているVisual Studioのバージョンに応じて、いずれかが機能します。
また、新しいSQLファイルを作成するだけで、Visual Studioを使用してlocaldb
がインストールされていることを確認でき、ファイルの上部ヘッダーの接続アイコンに移動します。デフォルトでは、localdb
インストールされている場合。
上記のlocaldbがインストールされているかどうかを確認する方法に加えて、サーバーマシンでMS windows power Shell
またはwindows command processor CMD
またはNuGet package manager console
を使用し、これらのコマンドsqllocaldb i
およびsqllocaldb v
を実行すると、localdbがインストールされている場合、MSDBマシンにインストールされ実行されているサーバーのバージョン。
ローカルdbがインストールされているかどうか、または接続に使用するデータベース名が不明な場合は、「sqllocaldb info」コマンドを実行してください-既存のlocaldbデータベースが表示されます。
今、私が知る限り、ローカルデータベースはVisual Studio 2015と一緒にインストールする必要があります。しかし、おそらくそれは必須機能ではなく、何かがうまくいかないか、何らかの理由でインストールできない場合-Visual Studioのインストールは続行します(ちょうど私の推測)。安全のために、VSに常にインストールされることに依存しないでください。
データベースを選択して、すぐに使用できます。
LocalDBのみをインストールしようとしましたが、VS 2015のインストールには失敗しました。以下のURLに従い、サイズがわずか33 MBのLocalDB(2012)インストーラーを選択してダウンロードします。
https://www.Microsoft.com/en-us/download/details.aspx?id=29062
Visual Studio 2015統合用のSQL Serverデータツールを探している場合は、次からダウンロードしてください。
コマンドプロンプトでsqllocaldb start
と入力します
<add name="defaultconnection" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=tododb;Integrated Security=True" providerName="System.Data.SqlClient" />
を使用します
My App.config looks as below:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.Microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
上記のパスにlocalDBがあり、バージョンがv11.0であることに気付きました。そこで、[接続の追加]ダイアログに(LocalDB\V11.0)と入力しました。