2

我正在尝试连接到本地主机上的 MSSQL server 2008,但出现错误

警告:ConnectionID:2 登录前错误:主机 127.0.0.1 端口 1434 读取登录前响应时出错:连接重置

这个错误很快重复了 20 次,然后我得到 com.microsoft.sqlserver.jdbc.SQLServerException: Connection reset

我怀疑这是服务器的一些错误配置。我可以毫无问题地连接到外部服务器。我也可以毫无问题地通过管理工作室连接。

请帮助我,我厌倦了这个问题:|

4

2 回答 2

6

1)默认禁用MSSQL 2008 的 TCP 协议。您需要从 SQL 配置管理器启用它(在与 MSSQL 相同的 [开始]、程序文件夹中):

2) 要使用 TCP 连接(即使在 localhost 上!),您需要在 Windows 防火墙中允许 MSSQL:

3) 您不一定需要使用 TCP/IP 来访问 MSSQL:

'希望有帮助!

于 2012-07-04T22:01:53.557 回答
-2

要从 Java 应用程序连接到 MSSQL Server,您需要使用 JDBC API。JDBC API 提供连接到数据库、加载适当的驱动程序、发送 SQL 查询、检索结果等的类和方法。

如何连接到数据库 “连接”对象表示与数据库的连接。要建立连接,请使用“DriverManager.getConnection”方法。此方法接受一个包含 URL 的字符串,该 URL 表示我们尝试连接的数据库。下面是建立连接的示例代码:

private String DATABASE_URL = "jdbc:odbc:embedded_sql_app"; // establish connection to database
Connection connection = DriverManager.getConnection( DATABASE_URL,"sa","123" );

关于数据库 URL 以及如何创建它的详细讨论可以在本文末尾提供的资源中找到。

查询数据库 JDBC API 提供了三个接口用于将 SQL 语句发送到数据库,“Connection”接口中的相应方法会创建它们的实例。1. 语句 - 由“Connection.createStatement”方法创建。'Statement' 对象用于发送不带参数的 SQL 语句。2. PreparedStatement - 由“Connection.prepareStatement 方法”创建。'PreparedStatement' 对象用于预编译的 SQL 语句。它们可以将一个或多个参数作为输入参数(IN 参数)。3. CallableStatement - 由“Connection.prepareCall”方法创建。'CallableStatement' 对象用于从 Java 数据库应用程序执行 SQL 存储过程。

检索结果 “ResultSet”是一个 Java 对象,包含执行 SQL 查询的结果。存储在“ResultSet”对象中的数据是通过一组允许访问当前行的各个列的 get 方法检索的。'ResultSet.next' 方法用于移动到 'ResultSet' 的下一行,使其成为当前行。以下代码片段执行返回行集合的查询,列“a”为“int”,列“b”为“String”,列“c”为“float”:

java.sql.Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) { // retrieve and print the values for the current row
int i = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
System.out.println("ROW = " + i + " " + s + " " + f); }

This is just a brief introduction on how to interact with a database from Java. For more details on the items discussed above as well as information on passing parameters, executing stored procedures etc. please refer to the following resource: ( http://www.shahriarnk.com/Shahriar-N-K-Research-Embedding-SQL-in-C-Sharp-Java.html#Shahriar_N_Embedding_SQL_in_Java ) Here, you will also find information on how to interact with a database programmatically; i.e. without using SQL. Hope you find this useful.

于 2012-07-06T11:37:26.667 回答