请大家帮忙解答,俺用JAVA程序直接连接.
sql2000打了SP4补丁,并且查看端口,发现1433端口已经开启监听.所有防火墙关了.
用SQL企业管理器和查询分析器都可以正常连接.SQL添加了命名管道和TCP协议.连接时显示的错误异常:类实例化成功!
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 ja
va.net.ConnectException: Connection refused: connect
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(U
nknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Sour
ce)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at Test.main(Test.java:16)连接使用的JAVA代码:
import java.sql.*;
class Test
{
public static void main(String args[])
{
String url="jdbc:sqlserver://localhost:1433;DatabaseName=pubs";
String user="sa";
String password="yinguochao";
String sqlStr="select * from jobs"; try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("类实例化成功!"); Connection con=DriverManager.getConnection(url,user,password);
System.out.println("创建连接对象成功!"); Statement st=con.createStatement();
System.out.println("创建Statement成功!"); ResultSet rs=st.executeQuery(sqlStr);
System.out.println("操作数据库成功!");
System.out.println("`````````````````````````````````````````````````"); while(rs.next())
{
System.out.print(rs.getString("job_id")+" ");
System.out.print(rs.getString("job_desc")+" ");
System.out.print(rs.getString("min_lvl")+" ");
System.out.print(rs.getString("max_lvl"));
System.out.println();
}
rs.close();
st.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
请大家帮忙分析一下原因.
sql2000打了SP4补丁,并且查看端口,发现1433端口已经开启监听.所有防火墙关了.
用SQL企业管理器和查询分析器都可以正常连接.SQL添加了命名管道和TCP协议.连接时显示的错误异常:类实例化成功!
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 ja
va.net.ConnectException: Connection refused: connect
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(U
nknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Sour
ce)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at Test.main(Test.java:16)连接使用的JAVA代码:
import java.sql.*;
class Test
{
public static void main(String args[])
{
String url="jdbc:sqlserver://localhost:1433;DatabaseName=pubs";
String user="sa";
String password="yinguochao";
String sqlStr="select * from jobs"; try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("类实例化成功!"); Connection con=DriverManager.getConnection(url,user,password);
System.out.println("创建连接对象成功!"); Statement st=con.createStatement();
System.out.println("创建Statement成功!"); ResultSet rs=st.executeQuery(sqlStr);
System.out.println("操作数据库成功!");
System.out.println("`````````````````````````````````````````````````"); while(rs.next())
{
System.out.print(rs.getString("job_id")+" ");
System.out.print(rs.getString("job_desc")+" ");
System.out.print(rs.getString("min_lvl")+" ");
System.out.print(rs.getString("max_lvl"));
System.out.println();
}
rs.close();
st.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
请大家帮忙分析一下原因.
俺们已经在SQL属性中选了混合登陆模式.
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";再确认:
msbase.jar
mssqlserver.jar
msutil.jar
上面三个类放在工程下,或classpath里面。
SQL是SQL server 2000
难道Microsoft SQL Server 2005 JDBC 只支持 SQL2005 吗? 我觉得应该也兼容sql 2000 吧?
有的是否 sqljdbc.jar
我已经把它放到Tamoca5 的lib下面,并加入了classPath.
那我去找个旧的试试看
我在微软下载页看到:
Microsoft 一直致力于改进互操作性,最近发布了新的使用 SQL Server 2005 的 Java Database Connectivity (JDBC) 驱动程序。SQL Server 2005 JDBC Driver 下载免费提供给所有 SQL Server 用户,它提供从任何 Java 应用程序、应用程序服务器或支持 Java 的小程序中访问 SQL Server 2000 和 SQL Server 2005 的能力
上面的话你改了吗?
2000版的才要加;
SQL服务器能取中文名吗?我取的是中文的,可以改吗?
还有,我用来连接SQL2000的JAVA程序没有放到Tomcat 6.0的目录下,需要放到哪去吗?
我直接放在F盘根目录下运行了````
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 ja
va.net.ConnectException: Connection refused: connect
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(U
nknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Sour
ce)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at Test.main(Test.java:16)关键是这句:Connection refused: connect……
具体问题我也不知道……-_-!!
驱动名字不是不错了呢!!???我用的JDBC Driver for 2000的,是:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");LZ的是:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
我的驱动已经加载成功,我写的没错.我可是严格按照JDBC的驱动说明来编的.
也就是说到底应该怎么设置SQL的TCP/TP协议或者哪里的TCP/IP呢?
据说要改注册表,可是我不知道怎么改````
你用的是2000版的JDBC+sql
设置也有点不同的
我用来连接的JAVA程序是随意放一个目录的,没问题吧?
要怎么添加数据源呢?
查一下版本吧。