回麻雀苑主页 到麻雀苑-搜狐博客
4-3使用JDBC-ODBC桥连接SQL
作者:老麻雀
2006-11-5 9:59:53
使用JDBC-ODBC桥连接SQL Server 2000数据库
使用JDBC-ODBC桥连SQL Server 2000数据库的操作,相对要简单一些。但是运行的速度和安全性方面,要比使用纯JDBC连接的效果差一些。使用JDBC-ODBC桥,必须在Windows操作系统的环境下。不需要安装JDBC,也不需要安装SQL Server 2000的补丁程序sql2ksp3(已经安装好了,也不用去卸载删除)。只要创建了SQL Server 2000的数据库和表,再配置好数据源,就可以
一、 范例演示和相应的准备工作
演示的前提同前一个范例类似。
1. 配置好开发运行环境;
2. 将随书光盘中的范例ch4文件夹,复制到resin2.1.6\doc文件夹内;
3. 安装SQL Server 2000;
4. 启动SQL2000,使用企业管理器创建jd数据库;
5. 在jd库中创建名称为exam的表。表中有name、sex、password三个字段,字段类型都使用char、长度为10,允许空值;
6. 配置SQL Server数据源;
7. 启动JSP引擎;
8. 启动Dreamweaver,修改ch4文件夹中的ch4-21.jsp文件。
其中1、2、3、4、5五个步骤的准备工作,在上一节范例的演示前已经完成。可以直接进行第6步的操作,配置SQL Server数据源。具体过程如下:
1) 配置数据源前,必须创建好数据库和表;
2) 单击“开始”-“设置”-“控制面板”-“管理工具”-“数据源ODBC”,如图4-27所示:
图4-27
3) 选择“系统DSN”标签,单击右边的“添加”按钮,如图4-28所示:
图4-28
4) 移动垂直滚动条,到最下面找到“SQL Server”,单击下面到“完成”按钮,如图4-29所示:
图4-29
5) 在“名称”处填写exan(这是数据源的名称,可以任意命名,这里的exam是范例4-21.jsp中数据源名);
在“服务器”处填写SQL Server 2000服务器的名称(可以在服务管理器中找到,复制过来)
“描述”可以不填写,也可填写说明文字;单击下面的“完成”按钮,如图4-30所示:
图4-30
6) 选择“使用用户输入ID和密码的SQL Server验证”,在“登录ID”处,输入sa,“密码”处输入SQL Server 2000的密码,单击下面的“下一步”按钮,如图4-31所示:
图4-31
7) 勾选“更改默认的数据库为”,再点击下拉列表,找到为JSP动态网页创建的数据库jd,单击下面的“下一步”按钮,如图4-32所示:
图4-32
8) 直接单击“完成”按钮,如图4-33所示:
图4-33
9) 可以单击“测试数据源”按钮,看到测试信息。(这里需要提醒读者,测试数据源成功,并不意味着数据源配置正确)。也可以直接单击“确定”按钮,返回到添加数据源到界面。如图4-34所示:
图4-34
10) 在图中可以看到“exam”数据源,已经添加到列表中。单击下面到“确定”按钮。完成数据源的配置。
下面需要启动Dreamweaver,修改ch4文件夹中的ch4-21.jsp和ch4-22.jsp两个文件。
将ch4-21.jsp中第26行和ch4-22.jsp中第29行中,完全相同的语句 Connection conn=DriverManager.getConnection(ConnStr,"sa","503");中的“503”修改为安装SQL Server 2000时,为系统管理员sa设定的密码值。
其他语句,不要进行更动。
演示步骤:
1. 启动IE,在地址栏键入http://127.0.0.1:8080/ch4/ch4-2.htm,如图4-35:
图 4-35
2. 填写用户名、密码,选择性别,单击“提交”按钮。屏幕出现下面图4-36所示:
图4-36
3. 单击“查看写入信息”或“返回主页”单击“查看数据库信息”,可以看到写入数据库的数据,如图4-37所示:
图4-37
从演示的过程看,和上一个范例没有什么区别,从界面到内容完全一样。这是因为两个范例写入的数据和查询的数据都一样,连接访问的数据库和表是同一个库和表。但是它们在连接方法上存在本质的不同。第一个范例使用的是纯JDBC连接,第二个范例使用的是JDBC-ODBC桥连接。前者速度快、安全性高,后者使用前提条件简单、操作简便。
这个范例演示,如果不能出现图4-36所示的界面,产生错误的原因,一般是数据源没有配置好,可以重新配置数据源。重新配置的方法,可以删除原来的数据源,新建一个数据源。也可以单击原来数据源的“配置”按钮,修改原来的配置内容。
二、网页的代码及分析
这个范例和前一个范例一样也有三个网页ch4-2.htm、ch4-21.jsp、ch4-22.jsp,而且代码大部分相同,其中ch4-2.htm和ch4-1.htm完全相同,ch4-21.jsp、ch4-22.jsp和ch4-11.jsp、ch4-12.jsp也只是个别的语句不同,因此这里只列出代码不同的部分并进行分析介绍。
先看ch4-21.jsp和ch4-11.jsp的不同:
ch4-21.jsp中的相关代码:
10) //String DBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
11) String DBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; //用JDBC-ODBC桥连接SQL的驱动
12) //String ConnStr="jdbc:microsoft:sqlserver://MICROSOF-4C8E71:1433;DatabaseName=jd";
13) String ConnStr="jdbc:odbc:exam"; //用JDBC-ODBC桥连接SQL的数据源
ch4-11.jsp中的相关代码:
10) String DBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
11) //String DBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; //用JDBC-ODBC桥连接SQL的驱动
12) String ConnStr="jdbc:microsoft:sqlserver://MICROSOF-4C8E71:1433;DatabaseName=jd";
13) //String ConnStr="jdbc:odbc:exam"; //用JDBC-ODBC桥连接SQL的数据源
ch4-11.jsp用的是纯JDBC连接访问,在代码的10-13行中用的是10行和12行,而把11行行13行注释了(被注释的语句,不执行);ch4-12.jsp用的是JDBC-ODBC桥连接访问,在代码的10-13行中用的是11行和13行,而把10行行12行注释了(被注释的语句,不执行)。这样有了第一个范例的代码,可以非常方便的改成第二个范例的代码。正如前面范例代码分析所述,将“驱动”和“连接参数url”赋值给变量,然后通过变量去加载驱动,连接数据库,使得相应的代码精练;更主要的是代码整体通用性增强了。
使用JDBC-ODBC桥连接访问数据库的代码:
ch4-21.jsp代码中:
第11行,是将JDBC-ODBC桥的驱动“sun.jdbc.odbc.JdbcOdbcDriver”赋值给变量DBDriver,
第13行,是将定义的数据源“jdbc:odbc:exam”赋值给变量 ConnStr。其中的“exam”是数据源的名称,它必须和设定数据源时输入的数据源名一致。
用于查询功能的ch4-22.jsp和ch4-12.jsp的代码不同之处,同上面介绍的情况一样。
从以上两个范例看出,连接访问数据库的JSP动态网页,不管用什么方法连接,它们的代码行基本上是相同的,只是加载驱动的内容和连接数据库的参数url内容有所不同。下面还要介绍连接访问Access数据库的JSP动态网页。会进一步发现代码行的内容,同样基本相同,不同的地方仍然是,加载驱动的内容和连接数据库的参数url。虽然使用不同的方法、连接不同的数据库,在JSP动态网页中,代码行的内容大同小异。但是它们的事前准备工作,完成代码正常运行的环境,差别很大。因此设计一个使用数据库的动态网站,首先要确定使用什么数据库,采取什么方法连接访问。以便有针对性的配备所需的运行环境。
发文时请务必注意: 一、遵守国家相关法律规定,如 《北京地区互联网站电子公告服务倡议书》, 《全国人大常委会关于维护互联网安全的决定》 及中华人民共和国其他各项有关法律法规。一旦违犯法律法规,您将承担一切因您的行为而直接或间接导致的民事或刑事法律责任,本站工作人员有义务配合相关部门,提供必要的技术资料(如IP地址等)。 二、自觉遵守爱国、守法、自律、真实、文明的原则,严禁发表有人身攻击倾向、有造谣生事嫌疑的言论,严禁发表虚假广告、色情、网络传销性质的内容,本站管理人员有权删除违反规定的内容或取消违规网友的发文权限甚至删除其ID。 |