Java连接SQL Server 2000的问题一

 

数据库操作现在是项目开发的根本,学习Java首先应该学会怎么样连接数据库,用Java连接数据库可不像用Delphi这类工具那样设几个属性就OK,说简单也简单,说复杂,其实也挺复杂的,而且很麻烦,如果是初学,根本不能保证第一次就连接成功,下面以SQL Server 2000为例,说说Java连接数据库的基本方法,也记录一下心得。

1、下载SQL Server 2000 driver for JDBC
SQL Server 2000 Driver For JDBC Downloads
该驱动截止目前有四个版本,建议下载最新的SP3版。
该驱动安装成功后,请将安装目录下的lib目录下的三个.jar文件加到CLASSPATH中;如果你使用的是JBuilder或Eclipse,将这三个文件根据IDE的提示加到工程中也可。

2、升级你的SQL Server 2000,为其打上最新的补丁。
这一步可能不是必需的,因操作系统环境而定,在不打补丁的情况,有时可以正常连接,有时却不能,所以建议还是安装最新的SQL Server 2000补丁(SP4)和JDBC驱动(SP3)。
如果你的程序在运行时提示:Error establishing socket,一般情况下,打上SQL Server 2000的补丁就可解决。

3、驱动的加载方法
在建立连接之前,要先加载SQL Server 2000 JDBC的驱动,代码形式如下:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
在此注意,forName方法的参数字符串必须完全相同于以上内容,大小写是区分的,其实这个串就是驱动类的完整名称:包名+类名。

4、获得一个连接
在操作数据库之前,要先获得与数据库的一个连接,使用如下代码格式:
DriverManager.getConnection(连接字符串, 登录用户名, 登录密码);
例:
DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs", "sa", "");
在此处关键的是连接字符串的内容,localhost部分即服务器的名字,可以更改;1433部分为SQL Server使用的端口号,根据实际情况修改即可;DatabaseName即为要连接的数据库的名字,在此注意DatabaseName之前的是分号,而不是冒号。

5、代码实例

// 导入Java SQL包,连接数据库必需;
import java.sql.*;

public class TestDB {
public static void main(String[] args) {
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs";
String userName = "sa";
String userPwd = "";
Connection dbConn

try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!");
}
Catch (Exception e) {
e.printStackTrace();
}
}
}

6、可能出现的问题
如果以上的代码运行后,输出"Connection Successful!",那就代表一切正常,连接数据库成功,你可以进行Statement、ResultSet的操作了;反之的话,一定是出现了相应的异常。
如果提示错误"Error establishing socket",请根据之前的说明安装相应的SQL Server 2000补丁即可。
如果提示"ClassNotFoundException",那一定是 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 该段代码拼写有误,或者是SQL Server 2000 Driver For JDBC Lib目录下的三个.jar文件未加入到CLASSPATH中。

 下载SQLSERVER2000的jdbc驱动程序。

在微软站点就有这个驱动程序:

Window操作系统

http://www.uncj.com/upload/files/ms_jdbc_setup.exe

http://download.microsoft.com/download/3/0/f/30ff65d3-a84b-4b8a-a570-27366b2271d8/setup.exe

 

Unix操作系统 Mssqlserver.tar

http://download.microsoft.com/download/3/0/f/30ff65d3-a84b-4b8a-a570-27366b2271d8/mssqlserver.tar


二、安装JDBC

执行ms_jdbc_setup.exe可执行文件,一切只需要点击下一步,至到出现finish按钮,完成安装。

注:

(1) ms_JDBC_setup默认安装路径为:c:/Program Files/Microsoft SQL Server 2000 Driver for JDBC

(2)此版(Version 2.2.0022)本仅支持Microsoft SQL Server 2000 Driver for JDBC

(3)安装目录/lib/下的三个jar文件即是我们要的JDBC驱动核心

msbase.jar

mssqlserver.jar

msutil.jar

 

三、将以上(3)中指的三个jar文件加入到环境变量中去

classpath:

d:/webserver/lib/msbase.jar;d:/webserver/lib/mssqlserver.jar;d:/webserver/lib/msutil.jar

注:也可以省事的将以上三个文件拷贝至你的jvm机所在的JAVA_HOME/jre/lib/ext目录下,不过不建议这么做。

 

四、测试

jsp文件:

 

 

您的第一个字段内容为:

您的第二个字段内容为:

 

 

 

五、注意事项

1. 要保证你的Sql服务是启动状态

2. 在Sql 的管理器中能够使用sa或其它用户正常登录;(有些人在安装sql时用了nt用户管理模式,这里可能会有一定问题)

3. 第一次配置好环境变量最好能重启一下电脑

4. 注意JVM和DataBase的启动顺序:先启动DataBase,再启动JVM机。

注:在停止Web服务器后,再重启动,中间最好能有10秒以上的间隔。

5. 注意操作系统的网络连通性

A.启动了Tcp/IP服务

B.配置了相关IP地址,有些人机器可能用的是自动分配IP或有配置IP时,但网络不通可能也找不到IP

6. 有些机器在调试明最好能将(四)中的连接地址localhost改成数据库服务器的IP,这也是要注意5的原因

补丁安装过程中常见问题

如果在安装补丁的时候遇到如下类似错误:

1、安装过程中出现“以前进行的程序创建了挂起的文件操作,运行安装程序前,必须重新启动”,请按照下面步骤解决:

a、重启机器,再进行安装,如果发现还有该错误,请按下面步骤

b、在开始->运行中输入regedit

c、到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager 位置

d、选择文件->倒出,保存

e、在右边窗口右击PendingFileRenameOperations,选择删除,然后确认

f、重启安装,问题解决

如果还有同样问题,请检查其它注册表中是否有该值存在,如有请删掉。

2、在安装SQL Server SP3,有时候会出现:无论用windows认证还是混和认证,都出现密码错误的情况,这时查看临时目录下的sqlsp.out,会发现以下描述:

[TCP/IP Sockets]Specified SQL server not found.

[TCP/IP Sockets]ConnectionOpen (Connect()).

其实这是SQL Server SP3的一个小bug,在安装sp3的时候,没有监听tcp/ip端口,可以按照以下步骤进行:

1、打开SQL server客户器网络实用工具和服务器网络工具,确保启用的协议中包含name pipe,并且位置在第一位.

2、确保[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/Client/ConnectTo]

"DSQUERY"="DBNETLIB".

如果没有,请自己建立

3、停止mssql.

4、进行安装.

这样就可以进行正确安装了。

二、SQL Server补丁版本的检查

SQL Server的补丁版本检查不如Windows 补丁版本检查直接,一个系统管理员,如果不了解SQL Server版本对应的补丁号,可能也会遇到一点麻烦,因此在这说明一下,通过这样的办法判别机器是安全的办法,不会对系统产生任何影响。

1、用Isql或者SQL查询分析器登录到SQL Server,如果是用Isql,请在cmd窗口输入isql -U sa,然后输入密码,进入;如果是用SQL查询分析器,请从程序中启动,输入sa和密码(也可以用windows验证)。

2、在ISQL中输入:

Select @@Version;

go

或者SQL查询分析器中输入(其实如果不想输入,只要打开帮助的关于就可以了:))

Select @@Version;

然后按执行;

这时会返回SQL的版本信息,如下:

Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 3)

其中的8.00.760就是SQL Server的版本和补丁号。对应关系如下:

8.00.194 -——————SQL Server 2000 RTM

8.00.384 -——————(SP1)

8.00.534 -——————(SP2)

8.00.760 -——————(SP3)

这样我们就能看到SQL Server的正确版本和补丁号了。 我们也可以用xp_msver看到更详细的信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值