在禁用TCP的情况下从Java连接到SQL Server

use*_*155 9 sql sql-server jdbc shared-memory

我正在尝试从Java连接到本地数据库(SQL Server 2008).我已根据客户要求禁用了tcp连接,但我无法连接.我必须禁用服务SQL Server Browser.

我用Java编写下一个语句:

conexion = DriverManager.getConnection("jdbc:sqlserver://localhost\\SQLEXPRESS;user=user;password=password");
Run Code Online (Sandbox Code Playgroud)

我有以下错误:

"java.net.SocketTimeoutException:接收超时".(然后它告诉我可能有防火墙,我应该运行SQL Server浏览器).

如果我尝试从Microsoft SQL Server Managment Studio连接,我可以连接相同的参数:

Server type: Database Engine
Server name: localhost\SQLEXPRESS
Authentication: SQL Server Authentication
User: user
Password: password
Run Code Online (Sandbox Code Playgroud)

我不知道我是不是做错了我的Java但SQL Server Managment Studio实际上是一个客户端,所以如果它可以连接任何客户端应该可以.

请回答.如果您需要更多信息,请直接询问.

Pab*_*ruz 6

不幸的是,Microsoft的JDBC驱动程序不支持与SQLServer的命名管道连接.您可以尝试查找和使用替代JDBC驱动程序.

看看jTDS.它是免费的,开源的,它使用命名管道连接到SQLServer.