1.使用JDBC-ODBC桥接器方式与数据库建立连接,需要创建ODBC数据源,建立JDBC-ODBC桥接器,与ODBC数据源指定的数据库建立连接这三个步骤。

2.创建ODBC数据源

(1)添加、修改或删除数据源:

打开控制面板中的管理工具,列表中有个ODBC数据源,双击打开,下面展示如何在windows 7下打开那个ODBC数据源,在用户DSN里,其中可以添加新的数据源,重新配置已有的数据源,删除已有的数据源。

点击开始——控制面板,出现下图:

打开上图的箭头的系统和安全,出现下图:

再打开管理工具,出现下面图片的列表,看到了数据源(ODBC)的选项:

双击打开上图的箭头的数据源(ODBC),出现下图的ODBC数据源管理器:

点击添加按钮,出现下图,选择您想为其安装数据源的驱动程序:

在这里我们选择SQL Server数据驱动程序,点击完成按钮:

点击下一步:

在这里我没有在SQL Server数据库上新建一个其它登录名和SQL Server验证的,不过这样安全性会差点,也可以选择登录ID和密码的SQL Server验证,但是要求你在SQL Server里的安全性下新建个登录名,并且连接映射到你所需要的数据库,这里选择默认或者你设置好的登录名和密码,点击下一步:

这里要更改默认数据库,即你后来编写jsp代码所需要的数据库,点击下一步:

点击完成按钮:

点击测试数据源测试下是否成功:

这样就创建好了ODBC数据源。

3.建立JDBC-ODBC桥接器:

(1)用Class这个类,调用它的静态方法forName加载sun.jdbc.odbc包中的JdbcOdbcDriver类来建立JDBC-ODBC桥接器,建立连接器时可能会发生异常,因此可以捕获这个异常,建立桥接器的代码如下:

//加载驱动try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}

4.与ODBC数据源指定的数据库建立连接:

(1)使用java.sql包中的Connection类声明一个对象,然后使用类DriverManager的静态方法getConnection()创建这个连接对象:

//与指定的数据源建立连接
try {Connection con=DriverManager.getConnection("jdbc:odbc:数据源名字", "登录名", "密码");//用登录名和密码的SQL Server验证
Connection con=DriverManager.getConnection("jdbc:odbc:数据源名字");//用默认的windows NT验证} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}

这样就与相应的数据源建立了连接,就可以通过SQL语句与该数据源所指定的数据库中的表交互信息,对表中的记录进行增删改查。

5.接下来给个servlet的测试连接例子:

(1)打开MyEclipse软件,新建一个工程login,新建一个包,名为tom.servlet,在这个包下新建一个名为ODBCTest的类,继承于HttpServlet这个父类,实现doGet和doPost方法,具体源代码如下,其中与指定的数据源连接时有一种是需要登录名和密码的方法来连接,一种不需要登录名和密码的方法,不多说,代码附上:

package tom.servlet;import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** * ODBC数据源测试**/
public class ODBCTest extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//加载驱动try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}//与指定的数据源建立连接try {Connection con1=DriverManager.getConnection("jdbc:odbc:mydb", "xg", "123456");System.out.println(con1.toString());} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request,response);}}

注:重要的事情别忘记了,因为我写的代码是servlet的,所以必须要配置这个servlet,打开WebRoot目录下的WEB-INF中的web.xml文件,接下来附上那个web.xml文件的代码:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"><display-name></display-name> <welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><servlet><servlet-name>odbcTest</servlet-name><servlet-class>tom.servlet.ODBCTest</servlet-class></servlet><servlet-mapping><servlet-name>odbcTest</servlet-name><url-pattern>/ha</url-pattern></servlet-mapping></web-app>

servelt知识这里就不多讲了,一个servlet必须有

 <servlet><servlet-name>odbcTest</servlet-name><servlet-class>tom.servlet.ODBCTest</servlet-class></servlet><servlet-mapping><servlet-name>odbcTest</servlet-name><url-pattern>/ha</url-pattern></servlet-mapping>

其中两个servlet-name标记的名字一样,servlet-class标记里是包名.类名,那个url-pattern里的是输入地址栏访问网页时要用到的。

然后部署该项目,打开tomcat服务器:

 

部署完项目,开启完服务器,打开下图箭头指定的那个图标:

接下来输入地址栏:http://localhost:8083/login/ha 其中8083是tomcat端口号,login是项目名,ha是配置servlet时在web.xml里面url-pattern的内容:

点击红色箭头指定的图标,即三角形,运行下,看下控制台有没有打印出一条连接成功的信息:
这样就建立起了JDBC-ODBC桥接器。
6.现在用这个JDBC-ODBC桥接器连接数据源来访问数据库的少了,大部分都是直接加载驱动写java代码连接数据库的,不过这里还要注意一点:
有时候你会发现建立不起那个JDBC-ODBC桥接器,如果你的jdk版本是1.8的话,估计会报找不到类的错误,即这行代码出错:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");因为jdk1.8已经取消JDBC-ODBC这种连接了。
7.写得不好,请见谅,如果有什么错误的话请指出,本人菜鸟一枚,请大神多多指教,谢谢!


Jsp之建立JDBC-ODBC桥接器连接数据库相关推荐

  1. ODBC管理器相关知识汇总

    ODBC管理器相关知识汇总 最近,在使用终端应用程序调用数据库文件时,发生了:ODBC问题之驱动程序和应用程序之间的体系结构不匹配等问题,通过查阅资料,小有收获,汇总如下: ODBC:开放数据库互连, ...

  2. JAVA中关于JDBC与JDBC-ODBC数据源连接数据库的区别

    之前写程序一直用的jdbc连接数据库,突然有天同学问我用odbc怎么连时,查资料才发现两者是有区别的. JDBC Class.forName("数据库驱动名");//如com.mi ...

  3. jsp+Servlet+JavaBean+JDBC+MySQL项目增删改查

    1简单的Mvc,分层建包. java resources src/mian/java (1)dao 包 JDBC连接类,连接数据库.增删改查方法,其他的方法. (2)model包 实体类,数据库字段, ...

  4. JDBC(Java语言连接数据库)

    JDBC(Java语言连接数据库) JDBC本质 整体结构 基层实现过程(即用记事本而不是idea) 第一种实现方式 第二种实现方式 乐观锁和悲观锁 乐观锁 悲观锁 JDBC本质 整体结构 基层实现过 ...

  5. 征途服务管理器显示不出启动服务器,征途服务器管理器连接数据库

    征途服务器管理器连接数据库 内容精选 换一换 本章介绍如何在管理控制台购买GaussDB(for openGauss)实例,并通过内网使用弹性云服务器连接GaussDB(for openGauss)实 ...

  6. MySqlDataAdapter桥接器的使用

    目录 一.前期准备 二.MySqlDataAdapter概念 三.MySqlDataAdapter的创建与使用 四.MySqlDataAdapter.Updata() -- 自动生成 1.修改数据到数 ...

  7. TCP通信转HTTP桥接器(转发zabbix数据为例)

    需求场景 由于项目需要我们有大量服务器部署在互联网上,需要zabbix_agent监控服务器数据,但是用于接收监控数据的zabbix_server对访问安全要求较为严格.zabbix_server部署 ...

  8. 理解ODBC:DSN、ODBC管理器、驱动程序

    ODBC Open Database Connectivity(开放数据库互连,维基百科)提供了一种标准的API方法来访问数据库管理系统(DBMS). 这些API利用SQL来完成大部分任务. 微软于1 ...

  9. 桥接器(network Bridging)

    橋接器 橋接器(英語:),又称网桥,一種網路裝置,負責網路橋接(network bridging).橋接器将网络的多个网段在数据链路层(OSI模型第2层)连接起来(即桥接). 概要图 橋接器有別於路由 ...

最新文章

  1. jwt需要存redis吗_Spring Cloud Security:Oauth2结合JWT使用
  2. new关键字对类成员的阻断
  3. java接口import_深入理解Java架构师在组件注册@Import导入容器(ImportSelector接口)的神操作!...
  4. 如何实现把固定内容自动写入excel_Excel批量查找指定内容并导出
  5. python 识别登陆验证码图片(完整代码)_python 识别登录验证码图片功能的实现代码(完整代码)...
  6. typeof操作符返回一个字符串,表示未经计算的操作数的类型。
  7. 虽然现在用APACHE COMMONS DBCP可以非常方便的建立数据库连接池,
  8. 披一张机器皮,智能就有了?!
  9. Linux内核分析——操作系统是如何工作的
  10. python 列表切片学习
  11. 计算机演示文稿PPT知识点,计算机PowerPoint考点
  12. 最新GitHub新手使用教程(Windows Git从安装到使用)——详细图解
  13. 全社会有效需求不足分析
  14. 倍福twincat3软件下载方式
  15. ROS学习:launch文件编写
  16. shell一站式攻略——history历史命令
  17. 如何将mp3合并在一起?
  18. 应用虚拟化软件-VA虚拟应用管理平台
  19. 男生追女生的方法有哪些?
  20. UVA Team Queue

热门文章

  1. Could not resolve placeholder 'jdbc.url' in value ${jdbc.url}
  2. 大小端 Big-Endian 与 Little-Endian
  3. Thread1:EXC_BAD_ACCESS 错误
  4. const,static,extern 简介
  5. 【HEVC帧间预测论文】P1.2 An Efficient Inter Mode Decision Approach for H.264 Video Codin
  6. HDU 3377 插头dp
  7. C++之C/C++内存对齐
  8. wp7设置浏览器主页
  9. VS2008开发Windows Mobile6环境搭建及模拟器联网问题图解
  10. 在用v-for时又想用v-if进行判断是否生产内容