首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jdbc:到SQL server的jtds连接

jdbc:到SQL server的jtds连接
EN

Stack Overflow用户
提问于 2012-11-05 19:54:29
回答 1查看 6.9K关注 0票数 2

我正在尝试使用JDBC驱动程序在一些Java和SQL Server之间创建连接。我已经创建了一个Connection类,它应该构成到我的计算机上的服务器的连接,该服务器具有示例IP地址'BHX‘

以下是Connection类

代码语言:javascript
复制
public class Connection {

public static void main(String[] args) throws Exception {

    try {
        String databaseDriver = "net.sourceforge.jtds.jdbc.Driver";
        Class.forName(databaseDriver);
    } catch (Exception e) {
        e.printStackTrace();
    }
    try {               
        String url = "jdbc:jtds:sqlserver://BHX:1433/Forecast;instance=SQLEXPRESS";
        java.sql.Connection con =  DriverManager.getConnection(url);
        System.out.println("Connection created");
        con.close();
    } catch (Exception e1) {
        e1.printStackTrace();
    }
}
}

我想知道url字符串是否有什么问题,因为当我运行这段代码时,我得到了以下错误:

代码语言:javascript
复制
java.sql.SQLException: Network error IOException: Connection refused: connect
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:417)
at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:185)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Connection.main(Connection.java:56)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.java:311)
at net.sourceforge.jtds.jdbc.SharedSocket.<init>(SharedSocket.java:261)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:318)
... 5 more

我见过类似的问题(like this here),但它看起来好像我已经遵循了所有可能的解决方案。我已经检查了配置管理器中是否启用了TCP/IP,以及端口号是否为1433。

我尝试在禁用防火墙的情况下运行此程序,但仍然收到相同的错误。

telnet BHX 1433,我收到以下消息'...Could未打开到主机的连接,在端口1433上:连接失败‘

EN

回答 1

Stack Overflow用户

发布于 2014-10-01 02:00:23

当您将用户名和密码添加到您的连接字符串时,它将工作,如下所示:

代码语言:javascript
复制
"jdbc:jtds:sqlserver://BHX:1433/Forecast;instance=SQLEXPRESS;user=XXXXX;password=XXXXX"

这应该适用于SQL Server身份验证。

如果您仅使用windows身份验证,则还需要提供如下所示的域:

代码语言:javascript
复制
"jdbc:jtds:sqlserver://BHX:1433/Forecast;instance=SQLEXPRESS;domain=XXXXX;user=XXXXX;password=XXXXX"
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13231606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档