0

我正在尝试连接到我网络上机器上的 SQL 数据库。据我所知,TCP/IP 设置和防火墙设置都是正确的,可以连接,但我的连接字符串没有运气。

代码:

static String dbUser = "user";
static String dbPass = "pass";
static String dbURL = "jdbc:sqlserver://SERVER1/BKUPEXEC;Instance=SQL2005;databaseName=images;";
static String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

try {
        Class.forName(driverName).newInstance();
        con = DriverManager.getConnection(dbURL, dbUser, dbPass);
        System.out.println("Connected with host:port/database.");
    } catch (ClassNotFoundException | InstantiationException | IllegalAccessException |    SQLException ex) {
        Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
    }

错误:

SEVERE: null
com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host TMTSERVER1, port 1433 has failed. Error: "connect timed out. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
4

2 回答 2

0

尝试

"jdbc:sqlserver://SERVER1/BKUPEXEC;instanceName=SQL2005;databaseName=images;"
                                   ^^^^^^^^^^^^
于 2013-03-15T15:48:25.130 回答
0

我最终将连接字符串更改为使用服务器的 IP 地址而不是域名。还证明 SQL 服务器没有使用默认端口号。

这是新的工作连接字符串:

static String dbURL = "jdbc:sqlserver://192.168.1.240:1053;databaseName=SI_images;";
于 2013-03-15T16:00:59.943 回答