我正在尝试使用JDBC连接Sql Server 2008 R2和java。我已经下载了jdbc jar文件,我在eclipse中添加了。当我尝试连接到sql 2008 R2时,它说出了以下错误。我正在使用默认端口1433.我是否必须更改sql端的设置。
这是我的代码。
package SocketClient;
import java.sql.*;
import com.microsoft.sqlserver.jdbc.*;
public class SocketClient {
public static void main(String[] args) {
// Declare the JDBC objects.
Connection con = null;
CallableStatement cstmt = null;
ResultSet rs = null;
try {
// Establish the connection.
SQLServerDataSource ds = new SQLServerDataSource();
ds.setUser("sa");
ds.setPassword("password123");
ds.setServerName("ENMEDIA-EA6278E\\ENMEDIA");
ds.setPortNumber(1433);
ds.setDatabaseName("DishTV_Voting");
con = ds.getConnection();
// Execute a stored procedure that returns some data.
cstmt = con.prepareCall("{call dbo.uspGetEmployeeManagers(?)}");
cstmt.setInt(1, 50);
rs = cstmt.executeQuery();
// Iterate through the data in the result set and display it.
while (rs.next()) {
System.out.println("EMPLOYEE: " + rs.getString("LastName") +
", " + rs.getString("FirstName"));
System.out.println("MANAGER: " + rs.getString("ManagerLastName") +
", " + rs.getString("ManagerFirstName"));
System.out.println();
}
}
// Handle any errors that may have occurred.
catch (Exception e) {
e.printStackTrace();
}
finally {
if (rs != null) try { rs.close(); } catch(Exception e) {}
if (cstmt != null) try { cstmt.close(); } catch(Exception e) {}
if (con != null) try { con.close(); } catch(Exception e) {}
System.exit(1);
}
}
}
连接到sql时我得到的错误是
com.microsoft.sqlserver.jdbc.SQLServerException:与主机ENMEDIA-EA6278E,端口1433的TCP / IP连接失败。错误:“连接被拒绝:连接。验证连接属性,检查主机上是否正在运行SQL Server实例并接受端口上的TCP / IP连接,并且没有防火墙阻止与端口的TCP连接。” 在com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:170) 在com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1049) 在com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:833) 在com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:716) 在com.microsoft.sqlserver.jdbc.SQLServerDataSource.getConnectionInternal(SQLServerDataSource.java:577) 在com.microsoft.sqlserver.jdbc.SQLServerDataSource.getConnection(SQLServerDataSource.java:57) 在SocketClient.SocketClient.main(SocketClient.java:23)
任何人都可以指出我哪里出错了。谢谢。提前连接sql和安装
的教程答案 0 :(得分:2)
检查是否已配置SQL Server(通过Surface Area Configuration)接受远程 TCP / IP连接。
答案 1 :(得分:0)
连接被拒绝:连接。验证连接属性,检查主机上是否正在运行SQL Server实例并在端口上接受TCP / IP连接,并且没有防火墙阻止与端口的TCP连接。
stacktrace中的提示指向阻塞的连接。值得检查一下你是否可以通过其他方式获得连接(ping,数据库客户端,telnet,..)。还有一个Eclipse插件来探索数据库;如果你可以在那里工作......
干杯, 维姆