浅谈如何用JDBC连接SQL Server 2000


用jdbc连接sql server 2000问题总结:
1、安装sql server2 000
安装sql server 2000补丁sp3
安装sql server 2000 for sp3的驱动程序
(先打补丁sp3,再安装针对sp3的驱动程序,安装补丁时,为保险起见,两种验证方式的都装一遍,我是先装windows验证,再装sql server验证的)
打开jbuilder
2、tools_configure_libraries  new一个sqlserver,在library paths中加入驱动程序安装目录下lib文件夹中的三个jar文件
3、project——default projectproperties在paths页下的required libaraes页中加入第1步new的sqlserver
4、tools——enterprise setup(jb9)
enterprise——enterprise setup(jb2005)
在弹出的对话框的database driver页中,添加第1步new的sqlserver,确定
5、重启jbuilder
6、tools——database pilot
在弹出的窗口的菜单中选view——option
在弹出的对话框中选driver页面,点add
在driver class文本框中输入com.microsoft.jdbc.sqlserver.sqlserverdriver,确定
7、设置名为com.microsoft.jdbc.sqlserver.sqlserverdriver的driver class
driver是com.microsoft.jdbc.sqlserver.sqlserverdriver
url是jdbc:microsoft:sqlserver://localhost:1433;databasename=数据库名(如:cardsystem)
用jdbc连接sql server 2000常见问题分析-1:


java.sql.sqlexception: [microsoft][sqlserver 2000 driver for jdbc]error establis 
hing 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.(unknown source) 

       at com.microsoft.jdbc.sqlserver.sqlserverimplconnection.open(unknown sou 
rce) 
       at com.microsoft.jdbc.base.baseconnection.getnewimplconnection(unknown s 
ource) 
       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:523) 
       at java.sql.drivermanager.getconnection(drivermanager.java:171) 
       at dbtest.init(dbtest.java:32) 
       at dbtest.(dbtest.java:25) 
       at dbtest.main(dbtest.java:46) 
press any key to continue...
[/pre]
出现上边错误的主要原因是默认的数据库服务器端口 1433没有打开,无法直接连接,如果成功升级到sp3则这个问题可以结决。还有就是数据库一定要用windows和数据库混合身分验证方式。

用jdbc连接sql server 2000常见问题分析-2:
在安装安装sqlserver2000 for sp3的驱动程序时,弹出对话框提示:"以前的某个程序安装已在安装计算机上创建挂起的文件操作"
原因:以前装过sql server,后来删掉。现在重装,却出现“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”的错误。无法进行下去。
解决步骤是:
1)添加/删除程序中彻底删除sql server。
2)将没有删除的sql server目录也删除掉。
3)打开注册表编辑器,在hkey_local_machine/system/currentcontrolset/control/session  manager中找到pendingfilerenameoperations项目,并删除它。这样就可以清除安装暂挂项目。
4)删除注册表中跟sql server相关的键。
其实估计只要做第3步就可以搞定,这样就可以清除安装暂挂项目。自己是先走了1,2,4,最后  做了3才搞定。所以估计3才是最关键的。
采用sql server driver 来实现对sqlserver数据库的操作时,一般代码如下:

 

connection con = null; 
preparestatement pstmt = null; 
try{ 
   class.forname("com.microsoft.jdbc.sqlserver.sqlserverdriver"); 
   con = drivermanager.getconnection("jdbc:microsoft:sqlserver//localhost:1433;databasename=pubs","sa","sa"); 
   pstmt = con.preparedstatment("insert ...."); 
   //...... 
}catch(classnotfoundexception e){ 
   e.printstacktrace(); 
}catch(sqlexception e){ 
   e.printstacktrace(); 
}finally{ 
   try{ 
         if (pstmt != null) pstmt.close(); 
         if (con != null) con.close(); 
   }catch(exception e){ 
         e.printstacktrace(); 
   } 
}
[/pre]
如果是sqlserver2005,则改成:


   class.forname("com.microsoft.sqlserver.jdbc.sqlserverdriver"); 
   con = drivermanager.getconnection("jdbc:sqlserver//localhost:1433;databasename=pubs","sa","sa"); 
 

> java.sql.sqlexception: [microsoft][sqlserver 2000 driver for jdbc]error establishing socket.
[/pre]

估计是你连接sql server的端口设置有问题,你可以查看一下端口,看看是不是1433。
解决:出现[microsoft][sqlserver 2000 driver for jdbc]error establishing socket
凡是出现这种错误的,都可以说不是程序本身的错误,一般人都会写jdbc:microsoft:sqlserver://localhost:1433;这样写是对的,很多是由于端口的问题,请查看一下端口,如下:
1)打开"企业管理器",打开控制台根目录>sql server 组>数据库
2)在相应"数据库"上单击右键,选择"属性"
3)选择"常规"选项卡,点击"网络配置",如启用的协议中无"tcp/ip协议"将其加入
4)选择"tcp/ip协议",点击"属性",检查其端口号是否为1433
5)如端口号为1433将其修改为其它端口号,修改jdbc连接语句,将端口号同样改为新启用的端口号,如jdbc:microsoft:sqlserver://server_name:1400(假设新端口号为 1400)
【编辑推荐】

浅谈通过使用jdbc的statement进行数据操作
java高手详解使用jdbc的步骤
浅谈db2 jdbc驱动程序及其支持的功能
详解jdbc与hibernate区别
jdbc连接mysql数据库关键四步
浅谈jdbc的概念理解与学习
本贴来自天极网群乐社区--http://q.yesky.com/group/review-18217272.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值