使用共享内存和 jtds 驱动程序连接到 SQL 服务器
Connecting to SQL Server using shared memory and jtds driver
我有一个 java 应用程序,它使用 jtds 驱动程序连接到 SQL Server 2000。它在 Windows Server 2003 上运行良好。我这里使用的连接字符串如下
con = java.sql.DriverManager.getConnection( "jdbc:jtds:sqlserver://127.0.0.1:1433/DBName", 信息 );
现在我正尝试在 Windows server 2012 上 运行 相同的应用程序。 但是这里的问题是,SQL server 2000没有监听 TCP 端口 1433,但它正在监听共享内存。因此连接失败。
我尝试启用 TCP/IP 协议,如本 link Enabling TCP/IP Through the Server Network Utility 的解决方法部分所述。 SQL 即使在重新启动服务器后,服务器也没有开始侦听 TCP/IP。
要解决这个问题,要么我必须让 SQL 服务器监听 TCP/IP 端口,要么我需要更改我的代码以在服务器未监听 [=58] 时使用共享内存进行连接=]端口。
我正在尝试使用共享内存连接到服务器,如本页所述Creating a Valid Connection String Using Shared Memory Protocol
con = java.sql.DriverManager.getConnection( "jdbc:jtds:sqlserver://localhost\SQLEXPRESS:1433/DBName", 信息 );
这导致异常
java.sql.SQLException: 未知服务器主机名 'localhost\SQLEXPRESS'.
我也试过连接字符串:
con = java.sql.DriverManager.getConnection( "jdbc:jtds:sqlserver://localhost\SQLEXPRESS/DBName", 信息 );
这会产生异常:
java.sql.SQLException: 未知服务器主机名 'localhost\SQLEXPRESS'.
如果我能找到其中一个问题的解决方案就太好了
- 为 SQL 服务器 2000
在 Windows 服务器 2012 上启用 TCP/IP 端口
- 正在使用 jtds 驱动程序中的共享内存协议连接到 SQL 服务器 2000。
提前致谢,
贾扬斯
我找到了这两个问题之一的解决方案 - 在 Windows 服务器 2012 上为 SQL 服务器 2000 启用 TCP/IP 端口。
- 在路径“C:\Program Files (x86)\Microsoft SQL Server\Tools\Binn”中启动 SVRNETCN.exe
- Select TCP/IP 从禁用的协议列表中单击启用
- 通过单击属性按钮
,确保 TCP/IP 协议的默认端口设置为 1433
我有一个 java 应用程序,它使用 jtds 驱动程序连接到 SQL Server 2000。它在 Windows Server 2003 上运行良好。我这里使用的连接字符串如下
con = java.sql.DriverManager.getConnection( "jdbc:jtds:sqlserver://127.0.0.1:1433/DBName", 信息 );
现在我正尝试在 Windows server 2012 上 运行 相同的应用程序。 但是这里的问题是,SQL server 2000没有监听 TCP 端口 1433,但它正在监听共享内存。因此连接失败。
我尝试启用 TCP/IP 协议,如本 link Enabling TCP/IP Through the Server Network Utility 的解决方法部分所述。 SQL 即使在重新启动服务器后,服务器也没有开始侦听 TCP/IP。
要解决这个问题,要么我必须让 SQL 服务器监听 TCP/IP 端口,要么我需要更改我的代码以在服务器未监听 [=58] 时使用共享内存进行连接=]端口。
我正在尝试使用共享内存连接到服务器,如本页所述Creating a Valid Connection String Using Shared Memory Protocol
con = java.sql.DriverManager.getConnection( "jdbc:jtds:sqlserver://localhost\SQLEXPRESS:1433/DBName", 信息 );
这导致异常 java.sql.SQLException: 未知服务器主机名 'localhost\SQLEXPRESS'.
我也试过连接字符串:
con = java.sql.DriverManager.getConnection( "jdbc:jtds:sqlserver://localhost\SQLEXPRESS/DBName", 信息 );
这会产生异常: java.sql.SQLException: 未知服务器主机名 'localhost\SQLEXPRESS'.
如果我能找到其中一个问题的解决方案就太好了
- 为 SQL 服务器 2000 在 Windows 服务器 2012 上启用 TCP/IP 端口
- 正在使用 jtds 驱动程序中的共享内存协议连接到 SQL 服务器 2000。
提前致谢, 贾扬斯
我找到了这两个问题之一的解决方案 - 在 Windows 服务器 2012 上为 SQL 服务器 2000 启用 TCP/IP 端口。
- 在路径“C:\Program Files (x86)\Microsoft SQL Server\Tools\Binn”中启动 SVRNETCN.exe
- Select TCP/IP 从禁用的协议列表中单击启用
- 通过单击属性按钮 ,确保 TCP/IP 协议的默认端口设置为 1433