用JDBC连sql server2000的问题

xingtao1016 2006-02-09 03:29:22
问题:数据连不通
连接数据库的代码如下:<%
try {
//装载驱动程序
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
out.println("forname success");

//创建连接
Connection con = java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev", "sa", "sa");
Statement stmt = con.createStatement();
ResultSet rst = stmt.executeQuery("select * from contact;");
while (rst.next()) {
out.println("<tr>");
out.println("<td>" + rst.getString("userName") + "</td>");
out.println("<td>" + rst.getInt("mobile") + "</td>");
out.println("<td>" + rst.getString("phone") + "</td>");
out.println("<td>" + trans(rst.getString("mail")) + "</td>");
out.println("<td>" + rst.getDate("lastcontact") + "</td>");
out.println("<td>" + trans(rst.getString("mem")) + "</td>");
out.println("</tr>");
}
//关闭连接、释放资源
rst.close();
stmt.close();
con.close();
}
catch (Exception e) {
out.print("****************************ERROR*****************************<br>");
StringWriter sw=new StringWriter();
PrintWriter pw=new PrintWriter(sw);
e.printStackTrace(pw);
out.print(sw.getBuffer().toString());
out.print("****************************ERROR*****************************<br>");
}
%>

报了一大堆问题,部分如下: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 ...

我的怀疑:1、应该不是驱动程序的问题,因为我在装载驱动程序后面写的out.println("forname success");显示了;
2、错误可能在这里:("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev", "sa", "sa");数据库名、用户名、密码都没问题,注:我装了oracle,8080端口冲突,我把Tomcat的端口改为8081了;
3、在cmd命令符下telnet 127.0.0.1 1433不通。


请问各位高人,这是什么问题,怎么解决?
各位大侠帮忙看看,分不够再加。


...全文
126 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinxideyilian 2006-02-10
  • 打赏
  • 举报
回复
看看你的环境变量
你的驱动都放对了没有
wzjcntlqs 2006-02-10
  • 打赏
  • 举报
回复
telnet 127.0.0.1 1433不通,你可以有用客户端工具添加一个试试,用查询分析器连一下看看
xingtao1016 2006-02-10
  • 打赏
  • 举报
回复
难道真要重装系统吗?:(
xingtao1016 2006-02-10
  • 打赏
  • 举报
回复
还没解决啊
vickis 2006-02-09
  • 打赏
  • 举报
回复
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 这个怎么搞定呀??我也有如此问题。
e_lyf 2006-02-09
  • 打赏
  • 举报
回复
关注
xiemingmei 2006-02-09
  • 打赏
  • 举报
回复
在websphere中安装SQL Server 2000的JDBC驱动及其配置连接


软件环境: Websphere4.0.5 + SQL Server2000 + SQL Server2000 SP3

注: Websphere 和 SQL Server2000可以安装在不同的机器上.

 步骤一 : ( 在安装了SQL Server2000的机器上 )

1. 下载 SQL Server2000 JDBC驱动
地址: http://www.microsoft.com/china/sql/downloads/2000/jdbc.asp
并且安装. 默认路径 : C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\

2. 将安装目录中 SQLServer JTA\qljdbc.dll 和 instjdbc.sql 拷贝到 C:\Program Files\Microsoft SQL Server\MSSQL\Binn

3. 将安装目录中 lib 下的3个.jar文件(msbase.jar,mssqlserver.jar,msutil.jar)拷贝到 C:\WebSphere\AppServer\lib\

4. 打开并登陆SQL SERVER的查询分析器.然后选择 文件--->打开---->打开查询文件.

在SQL Server中选择数据库所在机器.如果是本机.则选择local.



5. 打开 C:\Program Files\Microsoft SQL Server\MSSQL\Binn\instjdbc.sql 并且运行脚本.
之后会在扩展存储过程中新生成存储过程.



 步骤二 : ( 在装有websphere的机器上 )

6. 打开websphere的管理控制台.新建JDBC供应商.
填写名称(SQL Server2000).
实现的类选择 : com.microsoft.jdbc.sqlserver.SQLServerDataSource



节点-->安装-->指定驱动程序-->添加驱动程序
然后把C:\WebSphere\AppServer\lib\下的三个文件(msbase.jar,mssqlserver.jar,msutil.jar)全部添加进来.最后确定安装.


7. 新建数据源.
名称(任意) : VehicleClaimDataSQLSource
JDNI名(和程序中的对应) : jdbc/VehicleClaimSQLDataSource

填写定制属性:
databaseName : test ( SQL Server数据库的名称 )
portNumber : 1433
serverName : 10.1.1.10 ( SQL Server服务器的IP地址或名称 )
user : sa
password : 123456 ( SQL Server数据库的密码 )
selectMethod : cusor
其他没有提及到的属性不填写.之后点击"测试连接".


8. 测试成功之后,右击"节点"下的节点,选择"停止并且重新启动".之后websphere管理控制台自动关闭.


9. 打开 websphere下的 "启动管理控制器",等待控制器重启之后.再打开websphere"管理控制台".



 备注:
SQL Server2000 SP3 下载地址: http://www.microsoft.com/china/sql/downloads/sp3.asp




以上供你参考,
不仅仅3个包就可以了!!!!!
xingtao1016 2006-02-09
  • 打赏
  • 举报
回复
会不会是1433的问题呢?

81,092

社区成员

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

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