【发布时间】:2013-08-03 23:18:46
【问题描述】:
我正在我的机器上运行 SQL Server Express 10.50.4000.0。 我已启用 TCP/IP 并确保端口设置为 1433。 我在防火墙中为 1433 添加了一个例外。 服务器服务正在运行。 我已经尝试了 localhost 和计算机名,并且都给出了相同的错误。 当我尝试 localhost\SQLEXPRESS 或 [USER-PC]\SQLEXPRESS 时,我收到一条错误消息,说它找不到数据库。
String driverName = "net.sourceforge.jtds.jdbc.Driver";
Class.forName(driverName);
String serverName = "localhost";
String instanceName = "ALLEN-PC\\SQLEXPRESS";
String serverPort = "1433";
String database = serverName +":" + serverPort+"/"+instanceName;
String url = "jdbc:jtds:sqlserver://" + database;
String username = "sa";
String password = "password";
connection = DriverManager.getConnection(url, username, password);
我收到错误:
Could not connect to the database Network error IOException: Connection refused: connect
没有其他需要调查的上下文。
【问题讨论】:
-
数据库名称是什么?我认为它可能需要包含在连接字符串中:
jdbc:jtds:<server_type>://<server>[:<port>][/<database>] -
您是否尝试使用
telnet连接到该端口? -
telnet 无法建立连接。
-
SQL Server 客户端(或应用程序)和实例是否在您的本地计算机上?如果是这样,防火墙应该不是问题;否则,如果您无法从客户端 telnet 到 SQL 实例,则说明存在防火墙问题。
-
我也同意凯文的观点。看起来您还没有指定数据库目录。 SQL Server 实例名称可能是 [User-PC]\SQLEXPRESS,因为这是 express 的默认名称。然后你需要告诉它你想连接什么数据库。
标签: java sql-server