JBuilder2005连接sql server2000时出现的问题,现请教高人指点,这都弄了半个月了,实在是弄不好了,都快急死我了。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.*;
import java.sql.*;
public class Testj{
private Connection loginconnection;
private Statement loginstatement;
private ResultSet loginresultSet;
private int login = 0 ;
public static void main(String args[])
{
String RL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=TESTDB";
String user ="test_student";//这里替换成你自已的数据库用户名
String password = "";//这里替换成你自已的数据库用户密码
String sqlStr = "select * from test_student";
try{ //这里的异常处理语句是必需的.否则不能通过编译!
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println( "类实例化成功!" );
System.out.println("slkdjf");
Connection con = DriverManager.getConnection(RL,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.getInt("Sno") + " ");
System.out.print(rs.getString("Sname") + " ");
System.out.print(rs.getInt("Sage") + " ");
System.out.print(rs.getString("Ssex") + " ");
System.out.println(rs.getString("Sclass"));
}
rs.close();
st.close();
con.close();
}
catch(Exception err){
err.printStackTrace(System.out);
}
}
}
运行结果是
D:\Borland\JBuilder2005\jdk1.4\bin\javaw -classpath "F:\aojing\aj\classes;D:\Borland\JBuilder2005\jdk1.4\jre\lib\im\indicim.jar;D:\Borland\JBuilder2005\jdk1.4\jre\lib\im\thaiim.jar;D:\Borland\JBuilder2005\jdk1.4\jre\lib\ext\dnsns.jar;D:\Borland\JBuilder2005\jdk1.4\jre\lib\ext\sunjce_provider.jar;D:\Borland\JBuilder2005\jdk1.4\jre\lib\ext\ldapsec.jar;D:\Borland\JBuilder2005\jdk1.4\jre\lib\ext\localedata.jar;D:\Borland\JBuilder2005\jdk1.4\jre\lib\jsse.jar;D:\Borland\JBuilder2005\jdk1.4\jre\lib\plugin.jar;D:\Borland\JBuilder2005\jdk1.4\jre\lib\sunrsasign.jar;D:\Borland\JBuilder2005\jdk1.4\jre\lib\charsets.jar;D:\Borland\JBuilder2005\jdk1.4\jre\lib\rt.jar;D:\Borland\JBuilder2005\jdk1.4\jre\lib\jce.jar;D:\Borland\JBuilder2005\jdk1.4\jre\javaws\javaws.jar;D:\Borland\JBuilder2005\jdk1.4\lib\tools.jar;D:\Borland\JBuilder2005\jdk1.4\lib\dt.jar;D:\Borland\JBuilder2005\jdk1.4\lib\htmlconverter.jar;D:\Borland\JBuilder2005\jdk1.4\SHOCK.jar" Testj
类实例化成功!
slkdjf
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(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at Testj.main(Testj.java:23)
我也下载了sqlserver2000 sp3的补丁装在了c:\sql2ksp3下,这个是默认的文件夹,我的sqlserver2000装在C:\Program Files\Microsoft SQL Server下,后来我又把sql2ksp3文件考到了C:\Program Files\Microsoft SQL Server下,可是还是不能用,我发现我jbuilder---tools----database pilot----file----new菜单下弹出的对话框new url下的driver里的com.microsoft.jdbc.sqlserver.SQLServerDriver仍是红色的,怎么样让他变黑呢?
我在tools---configure---libraries---里3个包也加了,project---default project properties---paths---required libraries也加了这个生成包,tools---enterprise setup里也加了生成包,但是我的enterprise server里不能加这个生成包的,一打开它,会出现一个不可用的状态。
谁能告诉我这是怎么一回事啊!!
问题点数:20、回复次数:22Top
1 楼kevinliuu()回复于 2006-08-26 14:08:22 得分 0
我也下载了sqlserver2000 sp3的补丁装在了c:\sql2ksp3下......
------------------------------------------------------------
你只是把安装文件解压到了c:\sql2ksp3,还要进入该文件夹进行安装!Top
2 楼yuguichong(cy)回复于 2006-08-26 14:53:36 得分 0
兄弟,你怎么跟我的情况一样呀,我正要来发贴,就碰到你的了,现在不知道你弄好了不?
开始是找不到驱动程序,后来加入了驱动,结果又出现这个了[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
See com.borland.dx.dataset.DataSetException error code: BASE+66
com.borland.dx.dataset.DataSetException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.borland.dx.dataset.DataSetException.a(Unknown Source)
at com.borland.dx.dataset.DataSetException.throwException(Unknown Source)
at com.borland.dx.dataset.DataSetException.SQLException(Unknown Source)
at com.borland.dx.sql.dataset.Database.openConnection(Unknown Source)
at com.borland.jdbcx.metadata.DatabaseInfo.openConnection(Unknown Source)
at com.borland.jdbcx.metadata.d.run(Unknown Source)
Chained exception:
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(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at com.borland.dx.sql.dataset.Database.openConnection(Unknown Source)
at com.borland.jdbcx.metadata.DatabaseInfo.openConnection(Unknown Source)
at com.borland.jdbcx.metadata.d.run(Unknown Source)
Top
3 楼yuguichong(cy)回复于 2006-08-26 15:00:59 得分 0
现在的jdbc for sqlserver 2000的版本是什么?我的是sp3Top
4 楼yuguichong(cy)回复于 2006-08-26 15:58:50 得分 0
我刚刚解决了这个困扰了我半天的问题,其实是自己的问题,记得在安装sql server 2000数据库时系统提示我要打上SP4的补丁,我当时点击了“跳过”,结果现在有问题了,看样子系统的提示要认真考虑,如果当时打上了补丁也不会出现今天莫名其妙的问题,我还以为是Jbuiler的问题,我刚刚才发现了这个问题,打上补丁,结果要重启,我没有重启,先试一下就好了,现在连接上数据库了,我的系统是win2003,可能其它系统至少要sp3,上面许多同志说的方法我都试了都没有用,jbuilder也不知道重启多少次也没有用,现在一个补丁就好了,正在困扰的同志们可以试一下我的方法!Top
5 楼aojing1984()回复于 2006-08-26 19:07:11 得分 0
sqlserver2000 sp3的补丁是安装在了c:\sql2ksp3下,是安装时系统默认的路径,Top
6 楼cpcyfun()回复于 2006-08-27 09:05:23 得分 0
XP 也需要SP4 补丁Top
7 楼yuguichong(cy)回复于 2006-08-27 11:29:41 得分 0
你解压之后的文件要安装才有用Top
8 楼yuguichong(cy)回复于 2006-08-27 11:30:59 得分 0
sql2ksp3目录下有setup.bat吧,点击这个安装才有用,你只是解压了,没有安装Top
9 楼aojing1984()回复于 2006-08-27 13:47:04 得分 0
我安你说的方法做了,把sql2ksp3目录下有setup.bat安装了,我运行jbuilder 里的程序还是会出现同样的错误。我看了一下jbuilder里的tools---database pilot---file---new ----diver里下拉列表框里的com.microsoft.jdbc.SQLServerDriver仍然是红色的,怎么样才能让它变成黑色可用呢,谁知道就帮帮忙吧,Top
10 楼yuguichong(cy)回复于 2006-09-03 21:51:09 得分 0
你的数据库驱动没有安装正确Top
11 楼lifeng_beijing()回复于 2006-09-04 13:09:50 得分 0
1 看一下你的项目中有没有导入SQLServer2000的驱动。
2 安装sql2ksp3时候设置的密码要和SQL 2000数据库的密码相同。Top
12 楼laukie(蓝雪之狼)回复于 2006-09-04 19:44:40 得分 0
我也在用JBUILDER做东西,怎么数据库老是导入有问题呀,在connection中Driver和URL怎么把自己建的数据苦导入呀,我用的是Sql Server ,JDBC驱动jbuilder 中的驱动怎么和SQL server中的有出入呀??那位大侠给指导下Top
13 楼hot_xie()回复于 2006-09-04 21:38:10 得分 0
还要Microsoft SQL Server 2000 Driver for JDBC
并且要设置该文件下的3个.jar文件Top
14 楼wuqingrenzhe7922()回复于 2006-09-08 22:54:53 得分 0
主要是加入的驱动的问题,如果确定驱动没问题,看看用户名和密码,建议你用odbc-jdbc桥再试试连接Top
15 楼xiciliu()回复于 2006-09-11 20:45:34 得分 0
如果用的是Jbuilder 2006
在setup下面有个栏目,Enterprise Setup设置Database Driver
这样就可以在jbuilder中使aojing1984所说的变成黑色.
Config Lib中配置驱动类库
项目载入该类库就行了Top
16 楼realrealdragon(dragon)回复于 2006-09-12 20:33:30 得分 0
网上有的是JBUILDER配置JDBC的文章,兄弟自己找啊,我一下子就搞定了Top
17 楼xiaoyao8195(逍遥)回复于 2006-09-13 01:56:59 得分 0
安装sqlserver sp4补丁 就OK拉
我用的是windows2003serverTop
18 楼chong8310()回复于 2006-09-13 15:48:04 得分 0
我当初也有这个提示.后来一个是把JDBC DRIVER 的SP3补丁打好,一个就是要给SQL SERVER的SA用户设密码,密码不要为空,这样很容易出问题.
奇怪的是,我的SQL与JBUILDER2005的配置中,JDBC用的不是SP3补丁,好象是没补丁的,反而连得上,改成SP3补丁在命令行下通了,反而在JBUILDER中不通了,郁闷.Top
19 楼yuguichong(cy)回复于 2006-09-16 22:08:16 得分 0
sa不要为空,这样以后会有问题的Top
20 楼youyu529()回复于 2006-09-16 23:22:24 得分 0
UPTop
21 楼kof9032()回复于 2006-09-17 15:15:15 得分 0
你换成SUN公司的连接驱动看看
不要老用微软的Top
22 楼likgrj(java游客)回复于 2006-09-17 17:50:22 得分 0
数据库驱动没有完成安装,只是解压,要进入解压文件夹安装。Top




