web-dev-qa-db-ja.com

LocalDBをVisual Studio 2015コミュニティのSQL Serverオブジェクトエクスプローラーに追加する方法は?

問題

SQL ServerオブジェクトエクスプローラーにLocalDBを表示する方法がわかりません。一部のVMでは自動的に表示されますが、他のVMでは表示されません。それでも、何時間もグーグルで探した後、私はそれを取得しません。

現在の状況

  1. クリーンなVMがあります
  2. Visual Studio 2015 Communityをインストールしました(すべてデフォルト設定)
  3. コンソールアプリケーションを実行させ(Entity Framework 6、コードファースト、コンソールアプリケーション)、別のVMで動作し、データベースを自動的に作成し、SQL Serverオブジェクトエクスプローラーに表示しました。今回はそうではありません

エラーは言います:

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ノードには何も表示されません。

Connecting to LocalDB

私が知っていると思うこと

  • Visual Studio 2015コミュニティにはLocalDBが付属しています。だから、すべてが箱から出して動作するはずですが、それは動作しません、そして私は理由がわかりません
  • LocalDBデータベースは単なるファイルのペアです(* .mdfおよび* .ldf)
  • C:\Users\<username>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDBのデフォルトのデータベースの場所にファイルが作成されているのを見ました。しかし、このVMには、そのようなフォルダーはありません
  • App.configは毎回このように見えました(そして、Visual StudioでEntity Framework 6 NuGetパッケージマネージャーをインストールしたときに自動的に作成されました)。

App.config

<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>

その他のランダムなコメント

  • 以前、SQL Serverでは特定のポートを開く必要がありましたが、LocalDBは、Visual Studioで起動されたときに、オンデマンドで個別のプロセスとして実行されることを理解しています。
  • SQLExceptionのデバッグ方法がわかりません
  • LocalDBはVisual Studio 2015 Communityにパッケージ化されていないので、個別にインストールする必要がありますか?
54
Lernkurve

今日、VS2015 Community Edition Update 1を最近インストールしたときに同じ問題が発生しました。

VS2015セットアップインストーラーから「SQL Server Data Tools」を追加するだけで問題を修正しました= ...初めてインストーラを実行したとき、「デフォルト」ではなく「カスタム」インストールタイプを選択しました。どのインストールオプションが利用可能かを見たかったが、すでにチェックされていたものとは異なるものを選択したくなかった。私の想定では、すでにチェックされているものは基本的にデフォルトのインストールでした。しかし、そうではありません。

47
Gonzalo Lucero

LocalDbがインストールされているかどうかを確認するには:

  • SSMS(SQL Server Management Studio)を実行します。
  • Windows認証を使用して、このインスタンス(localdb)\V11.0への接続を試行します。

それでもエラーが発生する場合は、Cannot connect to (localdb)\V11.0.エラーが発生した場合、インスタンス名を(localdb)\MSSQLLocalDBに変更し、接続を再試行してください。

LocalDbをインストールするには、次の手順に従います。

  • SSMSを閉じます。
  • VS(Visual Studio)が実行中の場合は閉じます。
  • Start Menuに移動し、検索sqlLocalDbを入力します。
  • 表示される結果から、sqlLocalDb.msiを選択してクリックします。
  • SQLセットアップによりLocalDBのインストールが開始されます

インストールが完了したら、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マシンにインストールされ実行されているサーバーのバージョン。

25
Ashraf Abusada

ローカルdbがインストールされているかどうか、または接続に使用するデータベース名が不明な場合は、「sqllocaldb info」コマンドを実行してください-既存のlocaldbデータベースが表示されます。

今、私が知る限り、ローカルデータベースはVisual Studio 2015と一緒にインストールする必要があります。しかし、おそらくそれは必須機能ではなく、何かがうまくいかないか、何らかの理由でインストールできない場合-Visual Studioのインストールは続行します(ちょうど私の推測)。安全のために、VSに常にインストールされることに依存しないでください。

14
Evk
  1. スタートメニューから「sqlLocalDb」を検索し、
  2. 実行コマンドをクリックし、
  3. VS 2015ツール/データベースへの接続に戻り、
  4. mSSQLサーバーを選択し、
  5. サーバー名として(localdb)\ MSSQLLocalDBを入力します

データベースを選択して、すぐに使用できます。

9
Janiya Hicks

LocalDBのみをインストールしようとしましたが、VS 2015のインストールには失敗しました。以下のURLに従い、サイズがわずか33 MBのLocalDB(2012)インストーラーを選択してダウンロードします。

https://www.Microsoft.com/en-us/download/details.aspx?id=29062

Visual Studio 2015統合用のSQL Serverデータツールを探している場合は、次からダウンロードしてください。

https://msdn.Microsoft.com/en-us/mt186501

4
Biki
  1. WindowsのスタートメニューでsqllocaldbまたはlocalDBを検索し、開いているファイルの場所を右クリックします。
  2. 検索で見つかったファイルの場所でコマンドプロンプトを開く
  3. コマンドプロンプトでsqllocaldb startと入力します

  4. <add name="defaultconnection" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=tododb;Integrated Security=True" providerName="System.Data.SqlClient" />を使用します

1
Karthikeyan VK
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)と入力しました。

0
shilly