JDBC 连接 SQL Serve 2000 总结

原创 2006年06月12日 15:14:00

JDBC 连接 SQL Serve 2000 总结

一、     JDBC 四类驱动程序概述

  JavaSoft定义了4JDBC驱动程序类型。理解各种类型的特征是非常重要的,这样才可以选出适当的类型。

JDBC-ODBC

它提供了从JDBCODBC的转换。这个桥使用了本地的ODBC方法,因此限制了它的使用。可能会在下列情况下使用这个桥:

î        快速的系统原型。

î        第三方数据库系统。

î        提供了ODBC驱动程序但没有提供JDBC驱动程序的数据库系统。

î        已经使用了ODBC驱动程序的低成本数据库解决方案。

Java到本地API

它利用开发商提供的本地库函数来直接与数据库通讯。由于使用了本地库,所以这类驱动程序有许多和JDBC-ODBC桥一样的限制。最大的限制是它不能被不可信的Applet所使用,另外还要注意的是,由于JDBC驱动程序使用了本地库,所以这些库必须在每一台使用这个驱动程序的电脑上安装和配置,这样给应用程序的分发带来了麻烦。大多数主要的数据库厂商在他们的产品中提供这一类驱动程序。以下情况可以考虑使用Java到本地的驱动程序。

î        代替JDBC-ODBC桥。

î        使用了一种已提供这类驱动程序的主流数据库作为一种低成本的数据库解决方案。

JDBC网络纯Java驱动程序

这种类型具有最大的灵活性。它可以用在一个第三方的解决方案中,而且可以在Internet上使用。驱动程序是纯Java的,而且可以通过驱动程序厂商所创建的专用网络协议和某种中间件通讯。这个中间件通常位于Web服务器上或者数据库服务器上,并且可以和数据库进行通讯。这一类驱动程序通常是由与特定数据库产品无关的公司开发的,而且由于它的优越性,所以价格相对贵一些。以下情况可以考虑使用JDBC网络纯Java驱动程序。

î        基于WebApplet,它们不需要任何安装或软件配置。

î        安全的系统,这里数据库被保护在一个中间件后面。

î        灵活的解决方案,如果使用许多不同的数据库产品。

î        客户要求较小的驱动程序。

Java到本地数据库协议

它是纯Java的,通过自己的本地协议直接与数据库引擎进行通讯。通过本地的通讯协议,它具备在Internet上装配的能力。与其他类型的驱动程序相比,这一类驱动程序的优点在于它的性能。以下情况可以考虑使用Java到本地数据库协议。

î        严格要求高性能。

 

î        只使用一种数据库产品的环境。

î        基于WebApplet,取决于这种驱动程序的能力。

由于存在对数据库的多种需求,所以有4种类型的JDBC驱动程序,如何选择这4类驱动程序取决于具体情况。不过关于选择哪一类驱动程序的确有一些混乱。比如Java到本地数据库协议的驱动程序不会因为它具有最大的类型号而比其他3种更好。只有实际中特定的需求才能决定应该使用哪种类型的JDBC驱动程序。

二、异常错误及解决方案:

1,jdbc-odbc连接驱动的安全限制

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  //加载 jdbc-odbc桥驱动程序

当用main() 方法调用时,程序编译、运行正常

当由Applet小程序调用时抛出以下异常:

java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)

原因:JdbcOdbc桥驱动认为未经签名的Applet是不可靠的

解决方法:①对Apllet进行数字签名,以通过JdbcOdbc安全检查

②采用JDBC Type3Type4驱动,该两种驱动忽略Applet的安全检查

    Type4Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

     

2,数据库连接失败

con =

DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=TourSysDB;user=sa;password=cdm");

说明:userpassword均指数据库的名字和密码

若抛出异常如下:

com.microsoft.sqlserver.jdbc.SQLServerException: 到主机的TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect

    

原因:①数据库网络实用工具中没有添加TCP/IP协议或添加协议后没有设置默认端口1433

②数据库版本太低

 

解决方法:

①进入数据库网络实用工具中添加TCP/IP协议和管道协议、并设置属性的默认端口1433,然后停止SQL Serve 服务器后再重起

若此时仍抛出 :到主机的TCP/IP 连接失败的异常,则查看1433端口是否被监听

 telnet 172.25.5.227 1433

如果提示:

正在连接到127.0.0.1...不能打开到主机的连接,在端口 1433: 连接失败
就必须打补丁解决问题。

或者:netstat –an查看1433 是否被监听

 

 

确定已安装的 SQL Server 2000 Database Components 版本

使用 isqlosql 或查询分析器,对数据库引擎实例执行以下查询之一。

  • SELECT SERVERPROPERTY('ProductLevel')

  • SELECT @@VERSION

  • SELECT SERVERPROPERTY('ProductVersion')

 

1.     说明   如果在安装产品之后或安装以前的 Service Pack 之后应用了热修复程序,您的产品版本与上述值可能会有所不同。例如,在对 SQL Server 2000 SP3a应用了安全修复程序 MS03-031 之后,@@VERSION 返回值 8.00.818

  1. (可选)如果无法确定正在运行的版本是 SQL Server 2000 数据库引擎还是 MSDE 2000,请使用 isqlosql 或查询分析器对不确定的实例执行以下查询。

  • SELECT SERVERPROPERTY('Edition')

如果该查询返回“desktop engine”,则说明您正在运行 MSDE 2000 实例;否则,您正在运行 SQL Server 2000 数据库引擎实例。

 

java连接SQL server 2000 详细步骤

java连接SQL server 2000 详细步骤(2008-07-03 21:05:50)标签:杂谈  分类:摸索的java参考资料地址 :http://hi.baidu.com/river200...
  • dxpws
  • dxpws
  • 2009年04月06日 19:25
  • 8624

JDBC驱动访问SQL Server2000数据库(JDK1.6+JSP+Tomcat 5.5.20)

SQL Server 2000数据库准备工作启动SQL Server 2000数据库服务管理器:打开企业管理器,新建一个数据库sky2098,并且在这个数据库中建立一个表student,如图所示:JD...
  • sky2098
  • sky2098
  • 2007年03月23日 16:28
  • 2936

Java连接SQL Server 2000 (version 8)

对于古老的SQL Server 2000,连接方法有点特别。 1、下载SQL JDBC 驱动,3.0版 的jar包(一定要3.0版的,4.0版的只能用在SQL server 2005版以上,...
  • ClementAD
  • ClementAD
  • 2015年07月02日 20:58
  • 2629

使用JDBC 连接 Microsoft SQL Server 2000

 如何使用JDBC 连接 Microsoft SQL Server 2000 1.      安装JDBC驱动程序 JDBC驱动程序实际上就是指三个.jar包,他们是msbase.jar,msutil...
  • geruger
  • geruger
  • 2006年09月20日 11:35
  • 952

sqlserver2000与sqlserver2005和2008 jdbc连接的不同写法

     sqlserver2000与sqlserver2005和2008 jdbc连接的不同写法  在SQL Server 2000 中加载驱动和URL路径的语句是String driverName...
  • qilei2010
  • qilei2010
  • 2010年11月05日 11:25
  • 3658

java通过jdbc访问sqlserver2000

1 准备三个jar文件 msbase.jar mssqlserver.jar msutil.jar 拷贝到jdk下面的jre/lib/ext/ 下面 2 配置环境变量 classpath 添加 ...
  • yunxian_19
  • yunxian_19
  • 2017年06月06日 18:11
  • 587

eclipse和sql server 2000的连接

   晚上搞了几个小时终于把jdbc给搞定了,现分享给各位IT网友! 第一步:下载好sql server 2000和eclipse IDE,如果你sql安装的是个人版的话,就要去网上下载个sp3或是s...
  • windzou36
  • windzou36
  • 2010年03月21日 01:21
  • 1968

数据库连接Java和SQL Server2000

package com.tsinghua; import javax.servlet.http.*; import java.sql.*; import java.io.*; public c...
  • sinat_26992509
  • sinat_26992509
  • 2016年09月12日 09:33
  • 987

[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]

[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'xxx' 无效 今天写程序的时候,总是提示java.sql.SQLExceptio...
  • q727668704
  • q727668704
  • 2015年07月07日 15:02
  • 1923

[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket错误解决方法总结

今天做一个特殊的业务处理,用JDBC连接SQLServer数据库加载驱动的时候,报如下错误: java.sql.SQLException: [Microsoft][SQLServer 2000 Dr...
  • chenleixing
  • chenleixing
  • 2015年07月27日 08:50
  • 4050
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JDBC 连接 SQL Serve 2000 总结
举报原因:
原因补充:

(最多只允许输入30个字)