23

JDBC を使用して SQL Server LocalDB に接続できますか? (2011 年 12 月現在)それは不可能だったようです。

回避策またはステータスの変更を知っていますか?

4

4 に答える 4

32

はい、可能です。

jTDS を使用した LocalDB インスタンスの接続文字列は次のようになります。

jdbc:jtds:sqlserver://./DatabaseName;instance=LOCALDB#88893A09;namedPipe=true

これは、jTDS 1.3.2 以降で機能します。リリースは次の場所からダウンロードできます。

https://github.com/milesibastos/jTDS/releases/download/v1.3.2/jtds-1.3.2-dist.zip

目的の LocalDB の名前付きパイプを見つけるには、次を実行します。

SqlLocalDb info NameOfTheLocalDBInstance

あなたに何かを与えるでしょうnp:\\.\pipe\LOCALDB#88893A09\tsql\query

特定のユーザー名/パスワードで接続するのがおそらく最善であるため、その LocalDB インスタンスにもデータベースのログインとユーザーを作成します (まだ作成していない場合)。

sqlcmd -S np:\\.\pipe\LOCALDB#88893A09\tsql\query

CREATE LOGIN dbuser WITH PASSWORD = 'dbpassword'
GO
CREATE USER dbuser
GO
ALTER AUTHORIZATION ON DATABASE::DatabaseName TO dbuser
GO
于 2014-06-25T14:53:38.243 に答える
22

JDBC を使用して SQL Server LocalDB に接続できますか?

Microsoft の JDBC ドライバーではありません。

jTDS JDBC ドライバーは、名前付きパイプをサポートします

SqlLocalDB.exe info MyInstance を実行すると、"np:\.\pipe\LOCALDB#F365A78E\tsql\query" などのインスタンス パイプ名が (他の情報と共に) 取得されます。

回避策またはステータスの変更を知っていますか?

考えられる回避策は、代替の JDBC ドライバーを使用するか、LocalDB の代わりにSQL Server 2012 Expressに切り替えることです。

詳細:

Microsoft JDBC ドライバーは、LocalDB と互換性がありません。

「残念ながら、Microsoft JDBC ドライバーは LocalDB への接続をサポートしていません。これは、LocalDB が名前付きパイプ接続のみをサポートし、現在の JDBC 実装が名前付きパイプをサポートしていないために発生します。開発者にとって考えられる回避策の 1 つは、SQL Express をダウンロードしてインストールすることです。 TCP/IP サポートを有効にします。」

ルイス・フェルナンド・サントス (MSFT) 2012 年 7 月 6 日

「残念ながら、現時点では JDBC ドライバーは LocalDB をサポートしておらず、簡単な回避策はありません。チームはこの欠落している機能を認識していますが、接続項目を提出することは、DCR の追跡と優先順位付けに常に役立ちます。」

Krzysztof Kozielczyk - MSFT 2011 年 12 月 22 日

「現在、ローカル開発に SQL Server Express を使用していますか? Windows または他のプラットフォームで作業していますか? Java アプリで LocalDB をどのように使用したいかについて、詳しくお聞かせいただければ幸いです。」

Shamitha Reddy、プログラム マネージャー Microsoft JDBC Driver for SQL Server、Microsoft JDBC Driver Product Team 2012 年 4 月 13 日

于 2013-03-02T15:23:41.533 に答える
0

LocalDb とインスタンスを知るには:

  1. オブジェクト エクスプローラーで LocalDb を右クリックします。
  2. プロパティを選択
  3. 接続プロパティの表示をクリックします
  4. ローカルおよびウェブサーバーの詳細に関するすべての情報を取得します
于 2018-09-08T16:44:06.977 に答える