jdbc连接sql server2000数据库问题总结

jdbc连接sql server2000数据库问题总结

Sun
推出的JSP(Java Server
Pages)是一种执行于服务器端的动态网页开发技术,它基于Java技术。执行JSP时需要在Web服务器上架设一个编译JSP网页的引擎。配置
JSP 环境可以有多种途径,但主要工作就是安装和配置Web服务器和JSP引擎。

  下面就以Tomcat作为JSP引擎,配合Tomcat、Apache、IIS这三种Web服务器来讲述3种搭建JSP运行环境的方案。

  一、相关软件介绍

  1、 J2SDK:Java2的软件开发工具,是Java应用程序的基础。JSP是基于Java技术的,所以配置JSP环境之前必须要安装J2SDK。

  2、 Apache服务器:Apache组织开发的一种常用Web服务器,提供Web服务。

  3、
Tomcat服务器:Apache组织开发的一种JSP引擎,本身具有Web服务器的功能,可以作为独立的Web服务器来使用。但是,在作为Web服务器
方面,Tomcat处理静态HTML页面时不如Apache迅速,也没有Apache健壮,所以我们一般将Tomcat与Apache配合使用,让
Apache对网站的静态页面请求提供服务,而Tomcat作为专用的JSP引擎,提供JSP解析,以得到更好的性能。并且Tomcat本身就是
Apache的一个子项目,所以Tomcat对Apache提供了强有力的支持。对于初学者来说,Tomcat是一个很不错的选择。

  4、 mod_jk.dll:Apache组织Jakarta项目组开发的使Apache支持Tomcat的插件。有了这个插件,Tomcat能够和Apache进行无缝连接。

  5、 tc4ntiis.zip:Apache组织Jakarta项目组开发的使IIS支持Tomcat的插件。

=====================================================

jdbc连接sql server2000数据库

前提:1.sql server 2000 任意版本    //本人用的是标准版
      2.sql server 2000 sp3升级包 你可以在这里下载http://www.bossed.com.cn/download/detailcp.asp?id=74
      3.sql server 2000 jdbc 驱动
         下载SQLSERVER2000的jdbc驱动程序
          http://download.microsoft.com/download/3/0/f/30ff65d3-a84b-4b8a-a570-27366b2271d8/setup.exe
      4.j2sdk1.4.2_11

根据我统计全国这个地方报错的无外三个,
(1) classpath有问题。
(2) sql server 2000 sp3 补丁没装
(3) 用户权限问题

意:这里有几点要说明
1.路径问题:
你必须配置你的classpath路径否则他在编译时会抱错
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:141)
        at Test.main(Test.java:11)
你的路径应该是这样配置:你可以在在安装jdbc驱动后看那里的帮助文档(是英文的);
//这里指在xp系统下
classpath = ,;C:/Program Files/Microsoft SQL Server 2000 Driver for JDBC/lib/msbase.jar;
              C:/Program Files/Microsoft SQL Server 2000 Driver for JDBC/lib/mssqlserver.jar;
              C:/Program Files/Microsoft SQL Server 2000 Driver for JDBC/lib/msutil.jar;
可千万不要写错哟!
2.sp4补丁包问题:
    如果你在编译时出现下列问题 那么你需要下载并安装sp4补丁包
   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.<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(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at Test.main(Test.java:14)
3.权限问题   
   如果你出现类似这样的问题
   类实例化成功!
slkdjf
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用户 ‘king’ 登录失败。
原因: 未与信任 SQL Server 连接相关联。
    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSLoginRequest.processReplyToken(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(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:14)
   
原困是未设置SQL SERVER登录认证模式为混合认证模式,因为SQL SERVER默认安装后认证模式为WINDOWS认证模式,从而导致出错。
解决方法:启动SQLSERVER企业管理器,选择要进行认证模式设置的服务器。右击该服务器,在弹出菜单中选择属性,SQL SERVER将
弹出属性对话框在属性对话框中选择安全性选项,在身份验证处选择“SQL Server和Windows”,然后确定。

 

注意事项:

1)首先SQL2000应该安装为混合模式(即windows或sql验证方式),如已安装过SQL2000 应该先卸载,然后把”C:/Program Files/Microsoft SQL Server“下的文件删除,否则再次安装可能出现错误。

2)如果你使用的是xp系统,应该打上最新的SQL_SP4补丁。

在命令提示符下输入命令”netstat -an“查看tcp连接中是否已经有了1433端口

(可在服务器网络实用工具中的TCP选项的属性中查看或更改该端口)

3)安装JDBC驱动程序

然后使用测试程序进行测试.

 

在通过jdbc连接SQL Server经常回出现[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket,
原因如下:
1,通过url连接的时候指定的服务器名称或者服务器地址不正确,这一点你可以通过ping来验证。
2,指定的服务器上的sql server的服务没有启动,你可以通过sql server的查询工具来验证这个问题。
3,指定端口错误,sql server的默认端口是1433。
4,sql server没有提供tcp/ip的服务,你可以通过sql server的管理工具来查看这个问题。

5,如果你的系统是 windows XP 或者 Windows 2003,那么你的sql server一定要升级到sp3以上.

发表评论

邮箱地址不会被公开。 必填项已用*标注

昵称 *