Sri*_*ran 21 sql-server jdbc localdb
是否可以使用JDBC连接到SQL Server LocalDB? 似乎(截至2011年12月)这是不可能的.
您知道变通方法还是状态变化?
bon*_*onh 27
对的,这是可能的.
使用jTDS的LocalDB实例的连接字符串如下所示:
jdbc:jtds:sqlserver://./DatabaseName;instance=LOCALDB#88893A09;namedPipe=true
Run Code Online (Sandbox Code Playgroud)
这适用于jTDS 1.3.2.你可以在这里下载一个版本:
https://github.com/milesibastos/jTDS/releases/download/v1.3.2/jtds-1.3.2-dist.zip
要查找所需LocalDB的命名管道,请运行
SqlLocalDb info NameOfTheLocalDBInstance
Run Code Online (Sandbox Code Playgroud)
这会给你类似的东西 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
Run Code Online (Sandbox Code Playgroud)
Fer*_*eia 20
是否可以使用JDBC连接到SQL Server LocalDB?
不是微软的JDBC驱动程序.
该JTDS JDBC驱动程序支持命名管道.
执行SqlLocalDB.exe信息MyInstance将获取实例管道名称(以及其他信息),例如"np:\.\ pipe\LOCALDB#F365A78E\tsql\query".
您知道变通方法还是状态变化?
可能的解决方法是使用备用JDBC驱动程序或切换到SQL Server 2012 Express而不是LocalDB.
细节:
Microsoft JDBC驱动程序与LocalDB不兼容.
"不幸的是,Microsoft JDBC驱动程序不支持连接到LocalDB.这是因为LocalDB仅支持命名管道连接,而我们当前的JDBC实现不支持命名管道.开发人员的一个可能的解决方法是下载并安装SQL Express,并启用其TCP/IP支持."
"不幸的是,JDBC驱动程序此时并不支持LocalDB,并且没有简单的解决方法.团队知道这个缺失的功能,但提交连接项对于DCR跟踪和优先级排序总是有帮助的."
Krzysztof Kozielczyk - MSFT 2011年12月22日
"你今天使用SQL Server Express进行本地开发吗?你在Windows或其他平台上工作吗?很高兴听到你想如何在你的Java应用程序中使用LocalDB."
Shamitha Reddy,用于SQL Server的Microsoft JDBC驱动程序的程序管理器,Microsoft JDBC驱动程序产品团队2012年4月13日
| 归档时间: |
|
| 查看次数: |
16450 次 |
| 最近记录: |