Excel:sqlserver localDBに接続する方法


8

MS sqlserver management studio 2014、linqpad、およびvisual studio 2013で使用できるLocalDBを作成しました。

サーバー名を示すSSMSの「接続プロパティ」ダイアログの一部を次に示します。 ここに画像の説明を入力してください

Excel内からこのデータベースに接続できるようにしたいと思います。問題は、Excelの「データ接続ウィザード」が接続に失敗することです。

ここでは、SSMSの「接続プロパティ」から指定されたものと同じサーバー名を入力しています。

ここに画像の説明を入力してください

そして、ここに私が得るエラーがあります... ここに画像の説明を入力してください

質問:

  • ExcelでlocalDBに接続できますか?私はそれが知っているCAN SQL-Serverデータベースに接続します。これを防ぐLocalDBに関する制限はありますか?LocalDBの全体のポイントは、スタンドアロンデータベースをセットアップする努力なしに開発を可能にすることだと思いました。

  • 接続する別の方法はありますか?それとも私のサーバー名はいくつかの迷惑な変更が必要ですか?


1
試してみてください.\mssqllocaldb、またはlocalhost\mssqllocaldb、または<comptuersIPAddress>\mssqllocaldb。(成功した)VSおよびLinqpad接続にどのサーバー名を使用しましたか?
Ƭᴇcʜιᴇ007

@Ƭᴇcʜιᴇ007、ありがとうございます。SSMSでデータベースのプロパティダイアログを開いたときに見つかったサーバー名をそのままコピー/貼り付けました。3つすべての例に進むことはできません。linqpadとSSMSで機能するサーバー名は、まさにこれです...(localdb)\ mssqllocaldb
Angelo

回答:


6

なんと不愉快なピタ!

次の手順に従って、「データ接続ウィザード」を使用して動作させることができました。

  1. データ接続ウィザードから[その他/詳細]を選択し、[次へ]をクリックします。sqlserver expressによって作成されたlocalDBは「SQL Server」として機能すると思いました。どうやらそうではない!理由はわからないけど。

ここに画像の説明を入力してください

  1. プロバイダーとして「SQL Server Native Client 11.0」を選択します。はい、前のタブで「SQL Server」を選択していませんでした。また、私はたまたまSQL Server Expressのバージョン12を実行していて、リストに「12」がありません-おそらくクライアントバージョンを厳密に参照しており、クライアント11がサーバー12に接続できるという微妙な意味がありますか?さらに別の認知ペーパーカット。

ここに画像の説明を入力してください

  1. SSMSまたはlinqpadで機能するのと同じサーバー名を入力します。[Windows統合セキュリティ]を選択します。テスト接続が機能し、データベースを選択して、テーブルをExcelにダンプすることができます。

ここに画像の説明を入力してください

これを行うのは難しくありませんが、何かがカチッと鳴るまで、あちこち探らなければならない論理的なフローはないようです。


に付属しているSQL Server 2014に接続していますSQLNCLI12。スクリーンショットではSQLNCLI11、「ネイティブクライアント11」を選択していますが、何らかの理由で、2014に優れた「ネイティブクライアント12」がありません。
tbc 2015

1

これは接続文字列です(SQLServer 2012 / Excel 2013):
Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true ;AttachDbFileName={mdf file full path}

私のPCでは、を使用する;Trusted_Connection=Yes必要がありました。私のラップトップとPCの両方で、SQLServerとExcelのまったく同じバージョンが実行されているため、意味がありません。


編集する

エラーを再現できません(VMにSQL Server 2014をインストールしても動作します)。あなたが追加することができますし、あなたを助けるかもしれない唯一のオプションは、Provider=SQLNCLI11;OR Provider=SQLNCLI12;、あなたが実行することによってインストールされているバージョンを確認することができsqllocaldb v、コマンドラインで。
それは次のようなものを生成します:Microsoft SQL Server 2014 (12.0.2000.8)


おかげで、それでもエラーが発生します。エラーダイアログで「parseConnectParams()」が表示されないように、「server =」の部分を削除する必要がありました。私がそれをしたとき、私が以前に得たのと同じエラーを出しました。
アンジェロ

@Angelo私は私の答えを更新しました、あなたが試したら結果が出るまで行ってください。
tbc 2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.