Sqlserver2000连接问题,请高手指点

chenchongpan 2003-09-09 08:46:42
环境:win2000,sqlserver2000,tomcat4.1
连接方式:jdbc(驱动:msbase,mssqlserver,msutil)
代码:使用网上最常见的DBConnectionManager连接池管理类(数据库参数 drivers=com.microsoft.jdbc.sqlserver.SQLServerDriver
Narl.url=jdbc:microsoft:sqlserver://202.194.196.205:1433;DatabaseName=Narl
logfile=c:\\log.txt
Narl.user=sa
Narl.password=aa
Narl.maxconn=10)
错误:org.apache.jasper.JasperException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.


感觉可以排除的几个可能性:
1.驱动问题。原因:驱动已经放在WEB-INF\lib下,而且DBConnectionManager类注册驱动的时候没有错误,而是getConnection(URL, user, password)的时候错误
2.DBConnectionManager代码的问题。原因:我使用附录里面例子也是同样的错误。
3.数据库没有启动。原因:保证已经启动,并且支持tcp/ip连接。
4.获取连接字符串问题。网上很多朋友说连接sqlserver的时候采用Connection conn= DriverManager.getConnection(url+";"+user+";"+password);可是我采用这种连接方法的时候报下面的错误:Unable to connect. Invalid URL.
5.数据库参数没有正确读入。原因:我前段时间曾用于连接oracle9数据库,没有问题。
...全文
35 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
pxboy 2003-09-11
  • 打赏
  • 举报
回复
建议你使用localhost试试
chenchongpan 2003-09-11
  • 打赏
  • 举报
回复
还是没有解决。。。
不过先结了吧,郁闷。。。
nettman 2003-09-09
  • 打赏
  • 举报
回复
1、JDBC驱动问题,换一个驱动版本试试;
2、SQL Server验证方式问题,需要使用混合验证,不能单独使用Windows验证。
pcdll 2003-09-09
  • 打赏
  • 举报
回复
Narl.maxconn=10)
10后面怎么有个),去掉试试,这个连接池我用过了的,应该没有问题。防火墙确实会有影响,但是防火墙会弹出提示框提醒你的,你也可以把防火墙关掉试试看
pxboy 2003-09-09
  • 打赏
  • 举报
回复
很有可能,防火墙将端口关闭了!
chenchongpan 2003-09-09
  • 打赏
  • 举报
回复
忘了告诉大家,202.194.196.205就是本地机器。。。
现在又排除了一个可能性:win2000补丁问题,现在已经升到pack4了,错误依旧。。。
sqlserver没有启动的时候也是这个错误,所以我感觉可能根本就不是驱动的问题。
各位兄台,和天网防火墙有没有关系?
wyhgg 2003-09-09
  • 打赏
  • 举报
回复
url="jdbc:microsoft:sqlserver://202.194.196.205:1433;DatabaseName=narl";
检查一下这句吧。
wyhgg 2003-09-09
  • 打赏
  • 举报
回复
你先在本地连接一下202.194.196.205
pxboy 2003-09-09
  • 打赏
  • 举报
回复
我以前出现过这个情况,原因是我用Applet连接远程数据服务器,没有权限,后来加数字签名解决。
我估计你现在这个情况是因为权限问题,没有建立起数据库的socket连接,我觉得数据库连接本身是通过socket来连接的,下面是我连接数据的方式,采用的是微软提供的JDBC驱动,希望能对你有所帮助:

String m_strDBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String m_strConnStr = "jdbc:microsoft:sqlserver://localhost:1433;databaseName=erp;useUnicode=true;characterEncoding=gb2312;SelectMethod=cursor";
//SelectMethod=cursor | direct

String m_strUserName = "sa";

String m_strPassword = "ps";

String m_strDatabase = "erp";
Class.forName(m_strDBDriver);
m_connection = DriverManager.getConnection(m_strConnStr, m_strUserName, m_strPassword);
m_connection.setCatalog(m_strDatabase);
SlzAgain 2003-09-09
  • 打赏
  • 举报
回复
http://www.fooldock.com/artshow.jsp?typeid=5&id=35
chenchongpan 2003-09-09
  • 打赏
  • 举报
回复
附录:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://202.194.196.205:1433;DatabaseName=narl";
String user="sa";
String password="continue";

Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from persimage";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}
%>
<%out.print("数据库操作成功,恭喜你");%>
<%
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧