是否可以使用JDBC連接到SQL Server LocalDB? It appears that(截至2011年12月),這是不可能的。使用JDBC連接到SQL Server LocalDB
您是否知道解決方法或狀態更改?
是否可以使用JDBC連接到SQL Server LocalDB? It appears that(截至2011年12月),這是不可能的。使用JDBC連接到SQL Server LocalDB
您是否知道解決方法或狀態更改?
是否可以使用JDBC連接到SQL Server LocalDB?
不適用於Microsoft的JDBC驅動程序。
jTDS JDBC驅動程序支持命名管道。
執行SqlLocalDB.exe信息MyInstance將爲您(連同其他信息)獲取實例管道名稱,如「np:\。\ pipe \ LOCALDB#F365A78E \ tsql \ query」。
您知道解決方法或狀態更改嗎?
可能的解決方法是使用替代JDBC驅動程序或切換到SQL Server 2012 Express而不是LocalDB。
詳情:
微軟的JDBC驅動程序是不兼容的LocalDB。
「不幸的是,Microsoft JDBC Driver不支持連接到LocalDB,這是因爲LocalDB只支持命名管道連接,而我們當前的JDBC實現不支持命名管道。 SQL Express,並支持它的TCP/IP。「
Luiz Fernando Santos (MSFT) July 06, 2012
「不幸的是JDBC驅動程序不此時支持的LocalDB並沒有簡單的解決辦法,球隊已經意識到了這個缺失的功能,但在提交連接產品總是DCR跟蹤和優先有用「。
Krzysztof Kozielczyk - MSFT 22 Dec 2011
「你使用SQL Server Express今天當地發展?你是在Windows或其他平臺上工作?這將是偉大聽到更多有關你想如何使用的LocalDB您的Java應用程序。 「
感謝您抽出時間發帖。我曾問過我的DBA這個問題。他反過來在MSDN論壇上提出了這個問題,並得到了Luiz Fernando Santos的回覆。你已經引用了同樣的回覆! :-) – 2013-03-02 19:54:56
不夠公平。我用可能的解決方法補充了答案。 – 2013-03-03 17:16:46
是的,這是可能的。
使用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
這些都是很好的說明,但是我必須從連接字符串中刪除數據庫名稱(因爲我們使用master數據庫)並使用我的網絡憑據:jdbc:jtds:sqlserver://./; instance = LOCALDB# 111111; namedPipe = true; domain = MY_DOMAIN – 2015-09-21 13:57:36
如果我們在sqlcmd連接後創建DATABASE SomeDB,那麼我們使用:jdbc:jtds:sqlserver://./SomeDB; instance = LOCALDB#111111; namedPipe = true; domain = MY_DOMAIN – 2015-09-21 13:58:14
...最後,一個JTDS 1.3.2 jar可以在github上的dist zip中找到:https://github.com/milesibastos/jTDS/releases – 2015-09-21 15:07:56
我今天做了我的研究,使用jTDS和命名管道建立連接。
今天的狀態是:不可能! 由於管道名稱限制,無法使用jTDS將連接字符串構建到localDB。見懸而未決的問題在這裏:http://sourceforge.net/p/jtds/bugs/716/
如前所述的LocalDB不支持其他的連接,但了NamedPipes,所以它看起來像不可能完成的任務那麼遠,
RGDS
編輯: 如前所述在評論中有上面鏈接的補丁,你可以用它來解決這個問題。對不起,我無法檢查我自己。
Habe教程的外觀如何從基於IntelliJ的IDE中執行https://blog.jetbrains.com/datagrip/2016/10/07/connecting-datagrip-to-sql-server-express-localdb/ – moscas 2017-12-07 16:19:48