web-dev-qa-db-ja.com

Visual StudioサーバーエクスプローラーでLocalDBに接続する方法

私は1時間の検索の後にこれに対する実用的な解決策を見つけることができなかったとは思えません。私はフォローしています この記事 /コードファーストの簡単なウォークスルーを与えるEntity Framework 6.0。プロジェクトを作成し、プロジェクトをコンパイルするための最新の EF Nugetパッケージ をインストールしました。また、Visual Studio 2013に付属のMicrosoft SQL Server 2012 Express LocalDBがインストールされていることを確認しました。ローカルコンピューターにSQLの他のインスタンスがインストールされていません。プログラムが実行され、エントリがデータベースに追加されてコンソールに出力されます。しかし、記事に "localdbをチェックしてください"と書かれていても、それはどうやっても言えません!プロジェクトフォルダの下に作成された '.mdf'ファイルまたは '.ldf'ファイルが表示されません。私はVisual StudioのサーバーエクスプローラをLocalDBに接続するためにあらゆる方法を試しました。ウィザードが(localdb)を見つけることができないか、または(localdb)\v11.0;Integrated Security=true;のような接続文字列を受け入れるプロバイダーをサーバーエクスプローラーで見つけることができません。助けてください、これはイライラする必要はありません!

Visual StudioサーバーエクスプローラーをLocalDBに接続する手順は何ですか?

215
orad

はい、私自身の質問に答えます。

LocalDBをVisual Studioサーバーエクスプローラーに接続する手順

  1. コマンドプロンプトを開く
  2. SqlLocalDB.exe start v11.0を実行
  3. SqlLocalDB.exe info v11.0を実行
  4. インスタンスパイプ名 をnp:\で始まる名前にコピーします。
  5. Visual Studioで[ツール]> [データベースへの接続]を選択します。
  6. サーバー名に(localdb)\v11.0を入力します。うまくいかなかった場合は、先にコピーした インスタンスパイプ名 を使用します。これを使用してSQL Management Studioに接続することもできます。
  7. 次のドロップダウンリストでデータベースを選択してください
  8. OKをクリック

enter image description here

247
orad

Visual Studio 2012 私がしなければならなかったすべては入力しました:

(localdb)\v11.0

Visual Studio 2015 および Visual Studio 2017 に変更されました。

(localdb)\MSSQLLocalDB

次の場所にMicrosoft SQL Server Dataソースを追加するときのサーバー名として。

View/Server Explorer/(Right click) Data Connections/Add Connection

それからデータベース名が移入されました。サーバー名がサーバー名コンボボックスで自動的に使用可能になっていればいいのですが、私は承認された回答で他のすべての手順を実行する必要はありませんでした。

あなたのマシンで利用可能なLocalDBデータベース名を閲覧することもできます。

View/SQL Server Object Explorer.
257
RationalDev

で選択してください:

  1. データソース:Microsoft SQL Server (SqlClient)
  2. サーバー名:(localdb)\MSSQLLocalDB
  3. サーバーにログオンします。Use Windows Authentication

データベース名を取得するには、[更新]ボタンをクリックしてください。

Screenshot

64
Kaps

それは私のために働きました。

  1. コマンドプロンプトを開く
  2. "SqlLocalDB.exeスタート"を実行してください。
  3. システムの応答 "LocalDBインスタンス" mssqllocaldb "が開始しました。"
  4. VS、表示/サーバーエクスプローラ/(右クリック)データ接続/接続追加
    • データソース:Microsoft SQL Server(SqlClient)
    • サーバー名:(localdb)\ MSSQLLocalDB
    • サーバーにログオンします。Windows認証を使用します。
  5. [接続テスト]を押し​​てから、[OK]をクリックします。
16
Ader Hwang

SQL Serverオブジェクトエクスプローラ(SSOX)を使用 代わりに

他の答えとは異なり、このアプローチでは以下を使用します。
- 特別なコマンドはありません。
- 複雑な設定はありません。
SQL Serverオブジェクトエクスプローラを使用する

それはかなり簡単です...

  • 表示 メニューから SQL Serverオブジェクトエクスプローラ を開きます。

one

  • {YourTableName}テーブルを右クリックしてください> ビューデザイナー

two

完了しました。

15
Svek

以下は、SQLServer Express 2016を使用しているWindows 10上のVisual Studio 2017 Community Editionで機能します。

PowerShellを開き、SqlLocalDB.exe infoを使用して何が呼び出されているか、およびSqlLocalDB.exe info NAMEを使用して実行されているかどうかを確認します。これが私のマシン上でどのように見えるかです:

> SqlLocalDB.exe info
MSSQLLocalDB
> SqlLocalDB.exe info MSSQLLocalDB
Name:               mssqllocaldb
Version:            13.0.1601.5
Shared name:
Owner:              DESKTOP-I4H3E09\simon
Auto-create:        Yes
State:              Running
Last start time:    4/12/2017 8:24:36 AM
Instance pipe name: np:\\.\pipe\LOCALDB#EFC58609\tsql\query
>

実行されていない場合はSqlLocalDB.exe start MSSQLLocalDBで始める必要があります。実行中は、Instance pipe name:で始まるnp:\\が表示されます。その名前付きパイプ文字列をコピーします。 VS2017内でビューServer Explorerを開き、タイプMicrosoft SQL Server (SqlClient)の新しい接続を作成し(完全なファット接続タイプにしたい他のファイルタイプにだまされないでください)、Server name:をPowerShellからコピーしたインスタンスパイプ名に設定します。

また、Connect to databaseを使用してセットアップされた私のDotnet Core/Entity Frameworkコアプロジェクトで機能していた接続文字列に含まれていたのと同じデータベースにdotnet ef database updateを設定しました。

sqlcmdと名前付きパイプ文字列を使用してログインし、データベースを作成することができます。

sqlcmd -S np:\\.\pipe\LOCALDB#EFC58609\tsql\query 1> create database EFGetStarted.ConsoleApp.NewDb; 2> GO

アプリケーションのユーザーを作成する方法については、 https://docs.Microsoft.com/ja-jp/sql/tools/sqllocaldb-utility にあります。

8
simbo1905

Visual Studio 2015 RCにはLocalDb 12がインストールされています。以前と同じ手順ですが、「魔法」を知る必要はありません。 :

cmd> sqllocaldb start

どちらが表示されます

LocalDB instance "MSSQLLocalDB" started.

あなたの instance nameは違うかもしれません。どちらの方法でもVSにポップアップしてサーバーエクスプローラを開き、データ接続を右クリックして追加を選択し、SQLサーバーを選択します。

(localdb)\MSSQLLocalDB

DB名を入力せずに、[接続テスト]をクリックします。

7
OzBob

修正は機能しません。

図の例とまったく同じように、これらの手順はすべて「システム」データベースへのアクセスのみを提供し、アクセスする既存のユーザーデータベースを選択するオプションはありません。

ローカル(Express Editionではない)Microsoft SQL Serverインスタンスにアクセスするための解決策は、SQL Server側にあります。

  1. ファイル名を指定して実行ダイアログを開きます(WinKey + R)
  2. 「services.msc」と入力します。
  3. SQL Serverブラウザを選択します
  4. プロパティをクリック
  5. 「無効」を「手動」または「自動」に変更
  6. "Start"サービスボタンが有効になったら、それをクリックしてください。

完了しました。これで、接続プロパティの[サーバー名]リストからローカルのSQL Serverを選択できます。

6
user3285866

管理者としてCMDを実行します。

  1. スタートメニューの 'cmd'から - それが見つかるのを待ちます。
  2. Cmdを右クリックして、管理者として開くを選択します。
  3. cd C:¥Program Files¥Microsoft SQL Server¥120¥Tools¥Binn
  4. タイプ:SqlLocalDB開始
  5. 今すぐ入力してください:SqlLocalDB情報
  6. 利用可能な実行中のSQLインスタンスを表示します...必要なものを選択してください...
  7. インスタンスタイプの詳細を調べるには、SqlLocalDB info instanceNameを使用してください。

  8. vSから接続を設定できます。VSで、/サーバーエクスプローラ/(右クリック)データ接続/接続の追加データソース:Microsoft SQL Server(SqlClient)サーバー名:(localdb)\ MSSQLLocalDBサーバーにログオンします。認証「接続テスト」を押し、次にOKを押します。

  9. 仕事が終わった

4
guestDoug

Visual Studio 2017で最も速い方法は、[ツール] - > [SQL Server] - > [新しいクエリ]の順に選択することです。ローカルデータベースから選択し、下部にある目的のデータベース名を選択します。

代替方法

Visual Studio 2017サーバーの名前は次のとおりです。

(localdb)\MSSQLLocalDB

メニューのツール - >データベースに接続...を使って新しい接続を追加します。

3
Samuel

上記の手順を実行しましたが、Visual Studio 2015構成の前にSQL Server 2014 LocalDBをインストールするのを忘れました。

私のステップは以下の通りです:

  1. SQL Server 2014 LocalDBをインストールします。
  2. Visual Studio 2015を開き、次に SQL Serverオブジェクトエクスプローラ ;を開きます。
  3. SQL Serverタグの下でLocalDBを見つけます。

これが誰かに役立つことを願っています。

1
Mondi

シナリオ:Windows 8.1、VS2013 Ultimate、SQL Expressがインストール済みで実行中、SQL Serverブラウザが無効。これは私のために働いた:

  1. まず、サービス下のSQL Server Browserを有効にしました。
  2. Visual Studioの場合:Package Managerコンソールを開き、次のように入力します。 Enable-Migrations ;次に、「 Enable-Migrations -ContextTypeName YourContextDbName 」と入力して、VSにMigrationsフォルダを作成します。
  3. Migrationsフォルダーの中には "Configuration.cs"ファイルがあり、自動マイグレーションをオンにします。AutomaticMigrationsEnabled = true;
  4. アプリケーションを再度実行すると、環境によってDefaultConnectionが作成され、コンテキストから新しいテーブルが表示されます。この新しい接続はlocaldbを指します。作成された接続文字列は次のようになります。Data Source =(LocalDb)\ v11.0 ...(作成されたmdfファイルへの追加のパラメータとパス)

これで、サーバー名で新しい接続を作成できます。(LocalDb)\ v11.0(ヒットリフレッシュ)データベースへの接続:ドロップダウンの下で新しいデータベースを選択します。

助けになれば幸いです。

0
Armando S