各位好,我在用java连接sql server 2000时出现问题如下:
1.程序源码:
import java.sql.*; public class SqlTesting {
public static void main(String args[]) {
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";
String user ="sa";
String password = "";
String sqlStr = "select CustomerID, CompanyName, ContactName from Customers";
try {
Class.forName(driverName);
System.out.println("");
Connection con = DriverManager.getConnection( url, user, password );
Statement st = con.createStatement();
ResultSet rs = st.executeQuery( sqlStr );
while(rs.next()) {
System.out.print(rs.getString("CustomerID") + " ");
System.out.print(rs.getString("CompanyName") + " ");
System.out.println(rs.getString("ContactName"));
}
rs.close();
st.close();
con.close();
} catch(Exception err) {
err.printStackTrace(System.out);
}
}
}说明:
1、使用eclipse编辑运行;
2、sql server 2000 打了sp4;
3、eclipse项目里,已经通过构建路径加载了jdbc驱动程序的三个包:msbase.jar, mssqlserver.jar,msutil.jar;
可是还是出现问题:java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at SqlTesting.main(SqlTesting.java:15)
1.程序源码:
import java.sql.*; public class SqlTesting {
public static void main(String args[]) {
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";
String user ="sa";
String password = "";
String sqlStr = "select CustomerID, CompanyName, ContactName from Customers";
try {
Class.forName(driverName);
System.out.println("");
Connection con = DriverManager.getConnection( url, user, password );
Statement st = con.createStatement();
ResultSet rs = st.executeQuery( sqlStr );
while(rs.next()) {
System.out.print(rs.getString("CustomerID") + " ");
System.out.print(rs.getString("CompanyName") + " ");
System.out.println(rs.getString("ContactName"));
}
rs.close();
st.close();
con.close();
} catch(Exception err) {
err.printStackTrace(System.out);
}
}
}说明:
1、使用eclipse编辑运行;
2、sql server 2000 打了sp4;
3、eclipse项目里,已经通过构建路径加载了jdbc驱动程序的三个包:msbase.jar, mssqlserver.jar,msutil.jar;
可是还是出现问题:java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at SqlTesting.main(SqlTesting.java:15)
解决方案 »
- 字符串转换
- 一个简单问题
- 请教一下.............................
- 急!!!在线等!高人指点下!
- ResourceBundle.getBundle
- Java里面有没有类似.net里webrequest的类呀?
- 大家好!我想利用swing做 左边是jtree,右边是jtable,jtable中的行和jtree的节点要对应。
- 怎么让applet小程序里的jpg图片放大缩小
- Vector和ArrayList、LinkedList、Hashtable哪个效率更高?
- ultraedit+jdk上怎样程序能在utraedit上执行??
- 帮忙分析这段代码的错误,arraylist类型转换问题
- 请教关于多线程的问题
2. 数据库起来了么?
是因为你的数据库的 1433端口没开呀,,
你用cmd下输入命令
netstat -a -n
看看,肯定没有监听1433端口,,
而我们连接数据库的时候使用tcp/ip协议的,采用的端口是1433,而你在装数据库的时候默认的tcp/ip协议端口为零,,你可以看一下你装的数据库的
下面的 SQL Server 网络实用工具,
选择里面的 TCP/IP,点下面的 属性 看下你的默认端口 为 0具体的解决办法呢,是重装数据库,装的时候选择 自定义,将tcp/ip的端口改为1433
再打上sp4的补丁,,就可以了,,注:老紫竹 就这个问题发过专题的
http://www.java2000.net/viewthread.jsp?tid=394
我也遇到过这个问题~~3楼的也行的
第二:注意必须打SP3的补丁,只打SP4不管用的。先打了SP3,再打SP4。
DatabaseName=>databasename这样还是不行,
数据库服务器启动了。
1、运行命令提示符,输入netstat-an 后没有1433端口,怎样开启呢?
2、必须得先打上sp3,再打sp4吗?