JDBC与ODBC

合集下载

jdbc选择题及解析

jdbc选择题及解析

jdbc选择题及解析题目1,JDBC是什么意思?解析,JDBC是Java数据库连接(Java Database Connectivity)的缩写,它是Java语言用于执行与数据库的连接和操作的API。

JDBC提供了一种标准的方法,使得Java应用程序能够与各种不同类型的数据库进行交互,无论是关系型数据库还是非关系型数据库。

题目2,JDBC的工作原理是什么?解析,JDBC的工作原理是通过Java应用程序调用JDBC API来与数据库进行交互。

首先,应用程序通过JDBC驱动程序管理器加载适当的数据库驱动程序。

然后,应用程序使用驱动程序管理器来获取数据库连接。

一旦建立了连接,应用程序可以创建并执行SQL语句,以及处理查询结果。

最后,应用程序关闭连接并释放资源。

题目3,JDBC的主要组件有哪些?解析,JDBC的主要组件包括驱动程序管理器(DriverManager)、数据库驱动程序(Database Driver)、连接接口(Connection)、语句接口(Statement)、结果集接口(ResultSet)等。

驱动程序管理器用于加载数据库驱动程序,数据库驱动程序负责与特定类型的数据库进行通信,连接接口用于建立和管理与数据库的连接,语句接口用于执行SQL语句,结果集接口用于处理查询结果。

题目4,JDBC的优点是什么?解析,JDBC的优点包括跨平台性、灵活性和可移植性。

由于JDBC是基于Java语言的,因此可以在各种操作系统上运行,实现了跨平台性。

此外,JDBC提供了灵活的API,允许开发人员编写复杂的数据库操作,同时也保持了与数据库的独立性,这增加了应用程序的可移植性。

题目5,JDBC与ODBC有何区别?解析,JDBC是Java数据库连接的API,而ODBC是Open Database Connectivity的缩写,是微软提出的用于连接数据库的API。

JDBC是基于Java语言的,而ODBC是基于C语言的。

Oracle数据库连接的几种方式

Oracle数据库连接的几种方式

Oracle数据库连接的⼏种⽅式⼀、本地通过JDBC获得Oracle数据库连接通过JDBC获得Oracle数据库连接,有三种⽅式:OCI⽅式、thin⽅式和JdbcOdbc桥⽅式。

OCI⽅式依赖于本地的动态链接库,如果在本地安装了Oracle数据库客户端可以采⽤该⽅式;⽽thin⽅式为纯java的数据库连接⽅式;JdbcOdbc桥⽅式依赖于本地ODBC数据库源的配置,这种⽅式⼀般不太被采⽤。

1、OCI⽅式 先在本地安装Oracle客户端,安装完之后,在安装的路径中可以找到…/jdbc/lib/classes12.zip⽂件,我们在环境变量classpath中设置classes12.zip所在的路径。

然后通过以下的数据库连接类,在本地通过OCI⽅式获得Oracle数据库连接。

/*** 在本地获得数据库连接*/package com.j2ee.db;import java.util.*;import java.sql.*;import javax.sql.*;import java.io.*;import oracle.jdbc.driver.*;import javax.naming.*;/*** 通过OCI⽅式获得Oracle数据库连接*/public class DbConnection{ final static String sDBDriver = "oracle.jdbc.driver.OracleDriver"; final static String sConnStr = "jdbc:oracle:oci8:sr/sr@ora199"; /** * */ public DbConnection() { } /** * 获得Oracle数据库连接 */ public java.sql.Connection connectDbByOci() { java.sql.Connection conn=null; try { Class.forName(sDBDriver); conn = DriverManager.getConnection(sConnStr); } catch (Exception e) { System.out.println("ERROR:"+e.getMessage()); } return conn; }}/*** 在本地获得数据库连接*/package com.j2ee.db;import java.util.*;import java.sql.*;import javax.sql.*;import java.io.*;import oracle.jdbc.driver.*;import javax.naming.*;/*** 通过thin⽅式获得Oracle数据库连接*/public class DbConnection{ private String sConnStr = ""; /** * 缺省构造器 */ public DbConnection() { sConnStr = "jdbc:oracle:thin:@10.1.4.199:1521:ora199"; } /** * @param ip,serviceName */ public DbConnection(String ip,String serviceName) { sConnStr = "jdbc:oracle:thin:@"+ip+":1521:"+serviceName; } /** * 通过thin⽅式获得Oracle数据库的连接. */ public java.sql.Connection connectDbByThin() { java.sql.Connection conn=null; try { Class.forName(sDBDriver); conn = DriverManager.getConnection(sConnStr,"sr","sr"); } catch (Exception e) { System.out.println("ERROR:"+e.getMessage()); } return conn; } /** * 通过thin⽅式获得Oracle数据库的连接. * @param userId,password */ public java.sql.Connection connectByJdbc(String userId,String password) { java.sql.Connection conn=null; try {  Class.forName(sDBDriver); conn = DriverManager.getConnection(sConnStr,userId,password); } catch (Exception e) { System.out.println("ERROR:"+e.getMessage()); } return conn; }} 这种⽅式运⽤起来⽐较灵活,简单,具有较强的移植性和适⽤性。

ODBC常见数据源配置整理

ODBC常见数据源配置整理

ODBC常见数据源配置整理⽬录1. 简介⽤golang做odbc驱动开发的任务并不多,隔段时间可能会来⼀个。

每次开发会忘记如何配置数据源和对应的数据源链接参数配置。

这⾥做⼀个整理。

1.1 ODBC和JDBCODBC(Open Database Connectivity)是⼀组对数据库访问的标准API,其最⼤的优点是以统⼀的⽅式处理所有的数据库。

JDBC(Java Database Connectivity)是Java与数据库的接⼝规范,允许Java程序发送SQL指令并处理结果。

⽐较常见JdbcTemplate1.2 ODBC配置⼯具打开控制⾯板找到管理⼯具,当前⽬录有两个ODBC的配置⼯具。

分别是:ODBC Data Sources (32-bit)、ODBC 数据源(64 位)。

顾名思义⼀个是32位,⼀个是64位。

在配置ACCESS数据源时需要选择32位。

也可以直接在系统⽬录下找到对应的可执⾏⽂件。

1)32位:%windir%\syswow64\odbcad32.exe2)64位:%windir%\system32\odbcad32.exe题外话:syswow64 ⽬录存放的是32位的程序,system32⽬录存放的是64位的程序,在注册dll的时候需要注意下。

在接触驱动开发之前⼀直都弄反了。

这篇⽂章做了通俗易懂地解释1.3 ODBC 数据源连接配置⽹上收集整理,不保证正确性,仅供参考。

数据库连接参数MySQL driver={mysql};database=数据库;uid=账号;pwd=密码;MSSQL Serverdriver={sql server};server=服务器;database=数据库;uid=ITDragon;pwd=密码;Access driver={microsoft access driver (*.mdb)};dbq=mdb⽂件全路径;uid=ITDragon;pwd=密码;SQLite driver={SQLite3 ODBC Driver};database=db⽂件全路径PostgreSQL driver={PostgreSQL ANSI};server=服务器;uid=账号;pwd=密码;database=数据库;DBase driver={microsoft dbase driver (*.dbf)};driverid=277;dbq=dbf⽂件全路径;Oracle driver={microsoft odbc for oracle};server=服务器;uid=ITDragon;pwd=密码;MS text driver={microsoft text driver (* .txt; *.csv)};dbq=⽂件全路径;extensions=asc,csv,tab,txt;PersistSecurityInfo=false;Visual Foxpro driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;2. MySQL 数据源配置2.1 配置步骤第⼀步:双击ODBC 数据源(64 位),可以选择⽤户DSN(系统只对当前⽤户⽣效),也可以选择系统DSN(能登录当前系统的⽤户都⽣效)第⼆步:点击添加,选择事先安装好的MySQL ODBC xx Driver 驱动后点击完成。

几种常见的数据库连接方法

几种常见的数据库连接方法

几种常见的数据库连接方法数据库连接是应用程序与数据库之间进行通信的重要步骤。

下面将介绍几种常见的数据库连接方法。

1.JDBC连接:Java数据库连接(JDBC)是一种用于在Java应用程序和数据库之间建立连接的API。

JDBC提供了一套标准的接口,通过该接口,开发人员可以使用Java编程语言轻松地与数据库进行交互。

JDBC连接需要提供数据库的连接信息,包括数据库的URL、用户名和密码。

通过JDBC,开发人员可以执行SQL语句并获取查询结果。

2.ODBC连接:开放数据库连接(ODBC)是一种通用的数据库连接API。

ODBC提供了一组标准函数,让开发人员可以使用不同的编程语言连接到数据库并执行SQL查询。

ODBC连接需要使用数据库的驱动程序来建立连接,并提供连接字符串、用户名和密码等信息。

ODBC连接可以用于多种数据库,包括MySQL、Oracle、Microsoft SQL Server等。

3.ADO连接:4.OLEDB连接:OLE DB是一种面向对象的数据库连接接口,它可以用于访问多种类型的数据源,包括关系型数据库、文本文件、Excel等。

OLE DB连接提供了一组类似于ADO的对象和方法,开发人员可以使用C++、C#等编程语言连接数据库。

OLE DB连接需要提供数据库的连接字符串、用户名和密码等信息。

5.ORM连接:对象关系映射(ORM)是一种将关系型数据库和面向对象编程语言进行映射的技术。

ORM连接使用ORM框架,如Hibernate、Entity Framework等,将数据库表映射为面向对象的类,开发人员可以使用面向对象的方式来访问数据库。

ORM连接需要提供数据库的连接信息,并使用对应的ORM框架来建立连接。

除了以上几种常见的数据库连接方法,还有一些特定数据库的连接方法,如MongoDB的驱动程序连接、Redis的客户端连接等。

这些连接方法根据数据库的特点和使用场景进行了优化和扩展,可以更好地满足各种需求。

oracle 接口标准

oracle 接口标准

oracle 接口标准
Oracle 提供了多种接口标准,包括 OCI(Oracle Call Interface)、JDBC (Java Database Connectivity)、ODBC(Open Database Connectivity)和 FQTI(灵活的查询文本接口)等。

OCI 是 Oracle 公司提供的由头文件和库函数等组成的一个访问 Oracle 数据库的应用程序编程接口(API)。

它允许开发人员在第三代编程语言(包括C、C++、COBOL 与 FORTRAN)中通过 SQL(Structure Query Language)来操纵 Oracle 数据库。

OCI 是一种开放标准,其规范被广泛应用于各种应用程序开发,使得不同的软件和系统可以相互协作。

OCI 接口标准提供了一组通用的函数和协议,用于与 Oracle 数据库进行交互。

这些函数和协议使得开发人员可以执行 SQL 查询、管理数据库连接、处理数据等操作。

JDBC 和 ODBC 是两种用于与数据库交互的接口,它们分别使用 Java 和C/C++ API 将数据从应用程序传输到数据库中。

FQTI 是一种灵活的查询文本接口,用户可以创建和检索文本和文档。

结合FQTI 可以使用文本查询来访问数据库,从而实现快速可靠的数据操作。

如需了解更多有关 Oracle 接口标准的信息,建议访问 Oracle 官网获取或咨询相关专业人士。

各种数据库连接方式

各种数据库连接方式

各种数据库连接⽅式1:介绍1) Java的应⽤程序与数据库的连接都是通过JDBC来完成的,现在主流的数据库⼏乎都⽀持JDBC,程序员只要掌握了JDBC的开发技术就可以对各种数据库进⾏操作了。

2)⽀持JDBC的数据库具体有:Oracle、SQL Server、MySQL、DB2等。

3) Windows下最简单的⼀种连接数据库的⽅式就是采⽤ODBC,因此JDBC中专门提供了可以连接ODBC数据源的驱动程序——JDBC-ODBC连接桥。

(ODBC是微软公司为Windows平台提供的开放的数据库连接标准,使⽤它可以在Windows平台下访问⼏乎所有的数据库)2:连接Access数据库1)由于Access数据库没有官⽅的专⽤JDBC驱动程序,所以必须将Access数据库连接到ODBC,再通过JDBC-ODBC连接桥连接到ODBC 来访问数据库。

2)⾸先要为指定的Access数据库设置ODBC数据源,具体步骤如下:控制⾯板->管理⼯具->数据源(ODBC)添加->选择数据源的驱动程序(选择Access驱动)->点击完成->填写具体属性3)使⽤代码加载JDBC-ODBC的驱动程序,并且连接(Connection)上指定的Access数据库,建⽴语句(Statement),然后由语句对数据库进⾏创建表格、新增、修改等操作,最后返回结果(ResultSet)并打印。

(代码略)各种数据库连接⽅式1.mysql数据库Class.forName("com.mysql.jdbc.Driver").newInstance;String URL = "jdbc:mysql://localhost:3306:/myDB";String Username = "username";//⽤户名String Password = "Password";//密码Connection con = DriverManager.getConnection(URL,Username,Password);2.oracle数据库(thin模式)Class.forName("oracle.jdbc.driver.oracle.Driver").newInstance;String URL = "jdbc:oracle:thin:@localhost:1521:orcl";String Username = "username";String Password = "password";Connection con = DriverManager.getConnection(URL,Username,Password);3.SQL server 数据库Class.forName("com.mircosoft.sqlserver.jdbc.SQLserverDriver").newInstance;String URL = "jdbc:microsoft:sqlserver://localhost:1433:DatabaseName=mydb";String username = "username";String password = "password";Connection con = DriverManager.getConnection(URL, username,Password);4.DB2数据库Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance(); //连接具有DB2客户端的Provider实例String URL = "jdbc:db2://localhost:5000/sample";// sample为数据库名String username = "username";String password = "password";Connection con = DriverManager.getConnection(URL, Username, Password);5.PostgreSQL数据库//PostgreSQL是⼀种特性⾮常齐全的⾃由软件的对象-关系型数据库管理系统(ORDBMS),可以说是⽬前世界上最先进,功能最强⼤的⾃由数据库管理系统Class.forName("org.postgresql.Driver").newInstance();String URL = "jdbc:postgresql://localhost/myDB " //DB为数据库名String username = "username";String password = "password";Connection con = DriverManager.getConnection(URL, username,password);rmix: 数据库Class.forName("rmix.jdbc.IfxDriver").newInstance();String URL="jdbc:Informix-sqli://localhost:1533/db_name:INFORMIXSER=myserver"; //db_name为数据库名String Username="username";String Password="password";Connection con=DriverManager.getConnection(URL,Username,Password)7. sybase数据库Class.forName("com.sybase.jdbc.SybDriver");String URL = "jdbc:sybase://localhost:5007/db_name";String username = "username";String password = "password";Connection con = DriverManager.getConnection(URL,username,password);8. JDBC-ODBC:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();String URL="jdbc:odbc:dbsource"; //dbsource为数据源名String Username="username"; //⽤户名String Password="password"; //密码Connection con=DriverManager.getConnection(URL,Username,Password);。

python jdbc连接数据库 定义方法

python jdbc连接数据库 定义方法

python jdbc连接数据库定义方法JDBC连接是一种在Python编程语言中与数据库进行交互的标准方法。

它是一种简单而强大的工具,允许我们通过Python代码来执行SQL语句、查询数据库和更新数据。

本文将一步一步地详细介绍如何使用Python JDBC连接数据库的方法。

第一步:安装JDBC驱动程序要使用JDBC连接数据库,我们需要安装相应的JDBC驱动程序。

根据您所使用的数据库类型,您需要下载相应的JDBC驱动程序。

例如,如果您使用的是MySQL数据库,您可以从MySQL官方网站下载MySQL JDBC驱动程序。

确保将驱动程序文件保存在适当的位置,以便在后续步骤中引用它。

第二步:导入必要的模块要在Python中使用JDBC连接数据库,我们需要导入合适的模块。

常用的模块包括`jaydebeapi`和`pyodbc`。

`jaydebeapi`模块是一个纯Python模块,可用于通过JDBC连接到多种数据库。

而`pyodbc`模块则是一个用于连接到ODBC数据库的模块。

根据您的数据库类型和个人偏好,您可以选择导入相应的模块。

第三步:建立数据库连接一旦我们导入了所需的模块,我们就可以开始建立数据库连接了。

对于大多数数据库,我们需要提供以下连接参数:数据库URL、用户名以及密码。

这些参数将用于验证和建立与数据库的连接。

对于`jaydebeapi`模块,我们可以使用`jaydebeapi.connect()`函数来建立数据库连接。

以下是一个示例代码:pythonimport jaydebeapi# 定义数据库连接参数database_url = "jdbc:mysql:localhost:3306/mydatabase" username = "myuser"password = "mypassword"# 建立数据库连接conn = jaydebeapi.connect("com.mysql.jdbc.Driver", database_url, [username, password])对于`pyodbc`模块,我们可以使用`pyodbc.connect()`函数来建立数据库连接。

java-JDBC-ODBC连接数据库

java-JDBC-ODBC连接数据库

那是连接数据库时,要获取一个可以执行sql语句的对象。

(偷懒,直接笔记了~)连接数据库步骤:a. 用java程序与db建立一个连接(通道)b。

根据连接获取一个执行sql语句的对象c。

执行sql语句d。

关闭连接public class Main {public static void main(String[] args) {try {//1加载驱动类//forName() 返回与带有给定字符串名的类或接口相关联的Class 对象Class.forName("org.gjt.mm.mysql.Driver");//a.建立连接通道//DriverManager管理一组JDBC 驱动程序的基本服务。

java.sql//getConnection() 返回:到URL 的连接String url="jdbc:mysql://127.0.0.1:3306/a11";String user="root";String password="root";Connection conn=DriverManager.getConnection(url, user,password);//相当于打开链接//b。

获取一个执行sql语句的对象//Statement 用于执行静态SQL 语句并返回它所生成结果的对象。

//createStatement()创建一个Statement 对象来将SQL 语句发送到数据库。

Statement st;st=conn.createStatement();//c.执行sql语句//执行给定SQL 语句,该语句可能为INSERT、UPDATE 或DELETE 语句,或不返回内容st.executeUpdate("insert intostudent(stuname,stuage,stusex,stubirth) values('张三',10,'m','1988-08-09')");//d.关闭连接//立即释放此Connection 对象的数据库和JDBC 资源,而不是等待它们被自动释放conn.close();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();System.out.println("加载驱动类失败!");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}//或者关闭写在finallyStatement stmt = Conn.createStatement(1004,1007);这里的1004,1007是什么意思呢?上网搜索了一下才发现意思如下:1.TYPE_FORWORD_ONLY,只可向前滚动;2.TYPE_SCROLL_INSENSITIVE,双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet中反应出来。

达梦数据库连接方法

达梦数据库连接方法

达梦数据库连接方法一、概述达梦数据库是一种高性能、高可靠性的关系型数据库管理系统,它提供了多种连接方法,以便用户能够通过不同的方式与数据库建立连接。

本文将介绍达梦数据库的几种常用连接方法,帮助用户快速、稳定地进行数据库连接。

二、ODBC连接方法ODBC(Open Database Connectivity)是一种开放的数据库连接标准,它可以让不同的应用程序通过统一的接口访问不同的数据库。

在达梦数据库中,可以使用ODBC连接方法来实现与其他应用程序的连接。

1. 安装ODBC驱动程序:首先,需要下载并安装达梦数据库的ODBC驱动程序。

安装完成后,系统中会自动添加ODBC驱动管理器。

2. 配置ODBC数据源:打开ODBC驱动管理器,选择“系统DSN”选项卡,点击“添加”按钮,在弹出的对话框中选择达梦数据库驱动程序,填写数据库的连接信息,如数据库名称、主机地址、端口号等。

3. 测试连接:配置完成后,可以点击“测试连接”按钮来测试连接是否成功。

如果连接成功,则可以在其他应用程序中使用ODBC连接字符串来连接达梦数据库。

三、JDBC连接方法JDBC(Java Database Connectivity)是Java语言访问数据库的标准接口,通过JDBC可以实现Java程序与达梦数据库的连接。

以下是使用JDBC连接达梦数据库的方法:1. 导入JDBC驱动程序:首先,需要在Java项目中导入达梦数据库的JDBC驱动程序。

可以从达梦官方网站下载相应的JDBC驱动包,然后将其导入到项目中。

2. 加载JDBC驱动程序:在Java代码中,需要使用Class.forName()方法来加载达梦数据库的JDBC驱动程序,例如: Class.forName("dm.jdbc.driver.DmDriver");3. 建立数据库连接:使用DriverManager.getConnection()方法来建立与达梦数据库的连接,需要提供数据库的连接字符串、用户名和密码等信息,例如:Connection conn = DriverManager.getConnection("jdbc:dm://localhost:5236/test db", "username", "password");4. 执行SQL语句:连接成功后,可以使用Connection对象的createStatement()方法创建Statement对象,然后使用Statement对象执行SQL语句,例如:Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery("SELECT * FROM table");四、连接方法是微软公司开发的一种用于访问数据的技术框架,它支持多种数据库连接方式,包括达梦数据库。

数据库连接三种方法

数据库连接三种方法

JAVA与数据库连接方法(一)用JAVA连接数据库主要有两种方式,一是用JDBC-ODBC桥来连接,二是用相关厂商提供的相应驱动程序来连接,首先谈谈第一种连接。

JDBC-ODBC桥接器是用JdbcOdbc.Class和一个用于访问ODBC驱动程序的本地库实现的。

对于WINDOWS平台,该本地库是一个动态连接库DLL(JDBCODBC.DLL)。

由于JDBC在设计上与ODBC很接近。

在内部,这个驱动程序把JDBC的方法映射到ODBC调用上,这样,JDBC就可以和任何可用的ODBC驱动程序进行交互了。

这种桥接器的优点是,它使JDBC目前有能力访问几乎所有的数据库。

通行方式如图所示:应用程序---JDBC API---JDBC-ODBC---ODBC API---ODBC层---数据源具体操作方法为:首先打开控制面板的管理工具,打开数据源(ODBC),在用户DSN里面添加数据源(即你要连接的数据库的名字),在这里假定连接SQL SERVER2000的GoodsSupply数据库。

名称填写你要连接的数据库的名称(GoodsSupply),然后逐步设置,如果选用了使用SQL-SERVER密码认证的话,就要输入相应的用户名及密码连接到数据库。

一路下一步设置完成。

在JAVA里面编写程序进行测试,在这里我的程序是让用户输入任意的表名与与列名,把该列的所有数据输出。

源代码如下:import java.io.BufferedReader;import java.io.InputStreamReader;import java.sql.*;public class ODBCBridge {public static void main(String[] args) {String url="jdbc:odbc:GoodsSupply";Statement sm=null;String command=null;ResultSet rs=null;String tableName=null;String cName=null;String result=null;BufferedReader input=new BufferedReader(new InputStreamReader(System.in)); try {try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动}catch(ClassNotFoundException e){System.out.println("Can not load Jdbc-Odbc Bridge Driver");System.err.print("ClassNotFoundException:");System.err.println(e.getMessage());}Connection con=DriverManager.getConnection(url,"USER","PASSWORD"); //使用SQL-SERVER2000认证DatabaseMetaData dmd=con.getMetaData(); //DMD为连接的相应情况System.out.println("连接的数据库:"+dmd.getURL());System.out.println("驱动程序:"+dmd.getDriverName());sm=con.createStatement();System.out.println("输入表名");tableName=input.readLine();while(true) {System.out.println("输入列名(为空时程序结束):");cName=input.readLine();if(cName.equalsIgnoreCase(""))break;command="select "+cName+" from "+tableName;rs=sm.executeQuery(command); //执行查询if(!rs.next())System.out.println("表名或列名输入有误");else {System.out.println("查询结果为:");do{result=rs.getString(cName);//数据库语言设置为中文,不用转换编码//result=new String(result.getBytes("ISO-8859-1"),"GB2312"); System.out.println(result);}while(rs.next());}}}catch(SQLException ex) {System.out.println("SQLException:");while(ex!=null) {System.out.println("Message:"+ex.getMessage());ex=ex.getNextException();}}catch(Exception e) {System.out.println("IOException");}}}JAVA与数据库连接方法(二)现在介绍第二种方法,用关厂商提供的相应驱动程序来连接。

JDBC—ODBC 桥接器

JDBC—ODBC 桥接器

JDBC—ODBC 桥连接1.建立JDBC——ODBC桥接器(加载驱动)Class.forName(“sun.jdbc.odbc.Jdbc O dbcDriver”)//第一步加载驱动Class是包java.sql中的一个类,该类通过调用他的静态方法forName就可以建立JDBC—ODBC 桥接器。

注意:建立桥接器时可能发生异常,因此必须捕获这个异常。

所以建立桥接器的标准方法是try { Class.forName(“sun.jdbc.odbc.Jdbc O dbcDriver”); }catch(ClassNotFoundException e){}2.连接到数据库首先使用包java.spl中的Connection类声明一个连接对象,再使用类DriveManager(驱动程序管理器)调用它的静态方法getConnection来获得一个连接.Connection con=DriverManager.getConnection(“jdbc:odbc:数据源名字”,“登录名login name”,“密码password”);//第二步创建连接对象,调用DriverManager类中的getConnection()方法与数据库进行连接假如上一步骤中没有为数据源设置Login name和Password ,那么连接形式是:Connection con=DriverManager.getConnection(“jdbc:odbc:数据源名字”,“”,“”);用户名和密码为空.为了能和数据源chengjibiao交换数据,先建立Connection对象如下:Connection con=DriverManager.getConnection(“jdbc:odbc:chengjibiao”,“s a”,“”);建立连接时应捕获SQLException异常。

try {Connection con = DriverManager.getConnection ( “ jdbc:odbc:chengjibiao”,“s a”,“”); }catch(SQLException e) {}这样就建立了到数据库的连接。

JdbcOdbc连接数据库的方法

JdbcOdbc连接数据库的方法

JdbcOdbc连接数据库的方法创建数据源(ODBC):开始→控制面板→管理工具具→ODBC数据源→选到系统DNS选项→点击添加,出现下图,选择你的数据源类型,我这里选择的是SqlServer下面开始填写你的数据源名称,我这里是sqlodbc,描述随便写,服务器我这里是本机的,如果你的机子上注册着其它IP上的数据库,用它们也可以。

这里选择使用用户和密码登录,而不是WINDOWSNT验证。

下面这个比较重要,就是更改默认的数据库,这里就是asp连接后默认的数据库了,我这里选的是科讯的。

上面的填完以后一直下一步,最后测试一下,如果显示成功,再点完成,那么数据源就建立完成了。

最后在系统数据源里就是出现你刚才添加的那个数据源一:创建java文件aapackage ;importjava.sql.*;public class aa {privatefinalString dbDriver = "sun.jdbc.odbc.JdbcOdbcDriver"; private final String url = "jdbc:odbc:sqlodbc";private final String username = "sa";private final String pwd = "sa";private Connection conn = null;//加载数据库publicaa() {try {Class.forName(dbDriver);System.out.println("数据库加载成功");} catch (Exception e) {System.out.println("加载数据库失败");}}//创建数据库连接publicbooleancreatConnection() {try {conn = DriverManager.getConnection(url, username, pwd);conn.setAutoCommit(true);System.out.println("数据库连接成功");} catch (SQLException e) {e.getStackTrace();//System.out.println("数据库连接失败");}return true;}//数据库添加publicbooleanexecuteUpdate(String sql) {if (conn == null) {creatConnection();}try {Statement stmt = conn.createStatement();intiCount = stmt.executeUpdate(sql);System.out.println("操作成功,所影响的条数是:" + String.valueOf(iCount));return true;} catch (SQLException e) {return false;}}//对数据库的查询操作publicResultSetexecuteQuery(String sql) { ResultSetrs = null;try {if (conn == null) {creatConnection();}Statement stmt = conn.createStatement(); rs = stmt.executeQuery(sql);returnrs;} catch (Exception e) {}returnrs;}public void closeConnection() {if (conn == null) {try {conn.close();} catch (Exception e) { e.getStackTrace();}}}}二:创建javaBean文件bbpackage ;public class bb {private String sid;private String name;public String getName() {return name;}public void setName(String name) { = name;}public String getSid() {returnsid;}public void setSid(String sid) {this.sid = sid;}}三:创建jsp文件chaxun(实现查询功能)<%@page import="java.sql.*"%><%@page contentType="text/html" pageEncoding="gb2312"%> <jsp:directive.page import=".aa"></jsp:directive.page><html><head><title>JSP Page</title><%aa connection = new aa();String sql = "select * from 注册信息"; ResultSetrs = connection.executeQuery(sql);%></head><body><center><h3>数据库连接</h3><hr><table border="2"><tr><td align="center" bgcolor="silver"><font size="5">学号</font></td><td align="center" bgcolor="silver"><font size="5">姓名</font></td></tr><%try {while (rs.next()) { //实现While循环%><tr><td><%=rs.getString(1)%></td><td><%=rs.getString(2)%></td></tr><%}} catch (Exception e) {} finally {connection.closeConnection();}%></table></center></body></html>四:创建jsp文件add(实现增加功能)(1)Aad.jsp<%@page import="java.sql.*"%><%@page contentType="text/html" pageEncoding="gb2312"%> <jsp:directive.page import=".aa"></jsp:directive.page><html><head><title>JSP Page</title><%aa connection = new aa();String sql = "select * from 注册信息"; ResultSetrs = connection.executeQuery(sql);%></head><body><center><h2>数据库连接</h2><hr><form action="add_01.jsp" name="form1" method="post" id="form1"> <table border="2"><tr><td align="center" bgcolor="silver"><font size="5">学号</font></td> <td align="center" bgcolor="silver"><font size="5">姓名</font></td></tr><%try {while (rs.next()) {%><tr><td><%=rs.getString(1)%></td><td><%=rs.getString(2)%></td></tr><%}} catch (Exception e) {} finally { connection.closeConnection();}%><tr><td bgcolor="silver">学号:</td><td><input type="text" name="sid" id="sid"></td></tr><tr><td bgcolor="silver">姓名:</td><td><input type="text" name="name" id="name"></td></tr></table><input type="submit" name="Submit" value="增加"><input type="reset" name="Submit1" value="重置"></form></center></body></html>(2)add-01.jsp<%@page contentType="text/html" pageEncoding="gb2312"%><html><head><title>JSP Page</title></head><% request.setCharacterEncoding("gb2312");%><jsp:useBean id="dbBean" scope="page" class=".aa"/><body><%String sid = newString(request.getParameter("sid"));String name = new String(request.getParameter("name"));String sqlAdd = "insert into 注册信息values('" + sid + "','" + name + "')";dbBean.executeUpdate(sqlAdd);dbBean.closeConnection();response.sendRedirect("add.jsp");%></body></html>。

软件专业答辩常见问题汇总

软件专业答辩常见问题汇总

软件专业答辩常见问题汇总1.连接数据库的方法是使用JDBC_ODBC桥连接数据库。

2.数据库中有多少表需要查看论文的物理设计。

3.数据库表之间的联系可以查看论文中的ER图。

4.数据库连接代码可以在WEB_INF下的___中找到。

5.数据库删除是物理删除。

6.分页显示是通过使用分页标签实现的。

7.黑盒测试是通过测试来检测每个功能是否都能正常使用,白盒测试是按照程序内部的结构测试程序。

8.CSS是一组格式设置规则,用于控制Web页面的外观。

9.Webapp只需要放到Tomcat下的webapps文件夹下即可。

10.web.xml是用于初始化工程配置信息的文件。

11.Servlet需要在web.xml中进行配置。

12.n是MVC框架中的控制层,主要实现系统的增删改查。

13.Get用于从服务器上获得数据,而Post用于向服务器上传递数据。

14.页面是用DreamweaverMX开发,整个程序是利用Eclipse开发。

15.系统采用SQL Server2000数据库进行开发。

16.系统采用B/S架构进行设计。

17.系统使用的技术包括JAVA,JSP和Struts框架。

18.系统使用的框架是Struts框架。

19.系统服务器是Tomcat5.5.答案:20) 系统开发常用的工具是Myeclipse或Eclipse。

21) MVC框架中,M代表模型层,V代表显示层,C代表控制层。

22) 用户登录实现是通过使用JavaScript脚本语言,将用户名和密码提交到后台,后台判断用户名和密码是否存在于用户信息表中,如果存在则进入系统页面,否则返回错误信息,前台获取错误信息并判断是否为空,如果不为空则提示错误信息。

23) 删除一条记录可以使用传递主键的方法,即delete from表名 where主键=传递过来的主键的值。

24) 编写Java文件后需要进行自动编译,因为运行程序时使用的是class文件。

25) Tomcat读取的是class文件,而不是Java程序。

JDBC与ODBC的区别

JDBC与ODBC的区别

JDBC与ODBC的区别⼀、ODBC(Open DataBase Connectivity : 开放数据库连接)ODBC 总体结构应⽤程序执⾏处理并调⽤odbc函数,提交sql语句并检索结果Driver Manager管理应⽤程序和驱动程序之间的通讯,根据应⽤程序加载并卸载驱动程序,处理odbc函数调⽤,获把它们传送到驱动程序驱动程序处理odbc函数调⽤,把sql语句提交到数据源,并返回结果到应⽤程序,如有必要,驱动程序修改⼀个应⽤程序请求,以使请求与相关的DBMS⽀持的语法⼀致数据源⽤户要访问的DBMS,以及相关osApplication||Driver Manager| | || | |驱动程序驱动程序驱动程序| | |数据源数据源数据源结合现实的⾼层开发⼯作流程如下:1.数据应⽤系统⾸先获得在ODBC数据源管理器中建⽴的DSN(存储了与数据提供程序连接的详细信息包含数据库位置、数据库类型及相应的ODBC驱动程序等),然后 Driver Manager依赖⼀种叫做数据库独⽴的交流(Database Indepedent Communications Technology)的技术与数据源建⽴联系(其中涉及客户端和服务器端多种Agent对象的问题,详情不叙,可参见下图).2.Driver Mangaer调⽤特定ODBC驱动程序将ODBC标准API转化为适⽤于具体数据库系统的函数调⽤(数据库特征不同之处也在这⾥翻译如SQL语法差异等),然后经由客户端的Request Agent发送到数据源.3.数据源Database Agent处理操作,将结果返回到客户端的Request Agent,再向上经Driver(这⾥会有翻译和标准化错误码的⾏为)、Driver Mangaer返回给Application.需要说明的是定义和操作光标、维护事务、负责任何与访问数据源的必要软件层进⾏交互(包括与底层⽹络或⽂件系统接⼝的软件)等⾏为亦由驱动程序完成.结合ODBC API调⽤顺序描叙⼯作流程:初始化(分配环境--->分配连接句柄--->与服务器连接--->分配语句句柄)-------->SQL处理(语句处理和检索部分)-------->终⽌(释放语句句柄--->与服务器断开--->释放连接句柄--->释放环境).⼆、JDBC(Java DataBase Connectivity : Java数据库连接)JDBC设计很多借鉴于ODBC:1.JDBC与ODBC都是基于X/Open的SQL调⽤级接⼝2.JDBC很多设计思想沿袭了ODBC,包括许多抽象和SQL CLI实现3.JDBC的总体结构类似于ODBC,有四个组件:应⽤程序、驱动程序管理器、驱动程序和数据源,⼯作原理亦⼤体同于ODBC.1.JDBC保持了ODBC的基本特性,也独⽴于特定数据库.2.使⽤相同源代码的应⽤程序通过动态加载不同的JDBC驱动程序,可以访问不同的DBMS.连接不同的 DBMS时,各个DBMS之间仅通过不同的URL进⾏标识.3.JDBC的DatabaseMetaData接⼝提供了⼀系列⽅法,可以检查DBMS对特定特性的⽀持,并相应确定有什么特性,从⽽能对特定数据库的特性予以⽀持4.JDBC也⽀持在应⽤程序中同时建⽴多个数据库连接,采⽤JDBC可以很容易地⽤SQL语句同时访问多个异构的数据库,为异构的数据库之间的互操作奠定基础Java的驱动解决⽅案有四种:1.JDBC-ODBC Bridge 2.本机API/集团式Java驱动程序 3.⽹络协议/全Java 4.本机协议/全Java。

ODBC和JDBC技术对比分析

ODBC和JDBC技术对比分析

D C AP 完成对数据库的访 开放性只支持关系数据库 ,但可以支持 然后通过 J B I
多种 RDBMS。
问 。J B A I 供 的 J v D C P提 a a类接 口 :
( ) a a s 1Drv r n g r处理 1 J v .q . ie Ma a e
k d o aa 8U B m n p I t n ,Te co e i s fdt 0P Sa og amc i s n C ao h hi c
f n j 曲e .te a e te h g d frn . o oe a h t hy hv h e i e c r p e f ee
AP I程序的核心, 并与具体的数据库通 数 据 库 的 连 接 ; ( 3)J v s 1 S a e n 执 行 a a q . l t me t 信。ODB 的数据库驱动程序由操作 J C
维普资讯
O B D C和 J C技术对比分析 DB
朱二喜 徐敏 江苏信 息职业技术学院 246 10 1
与数据库的结合及 J v a语言 的跨平台 1 序 AP , 层 则主要 通过 J C ODBC a I底 DB
位 于客 户端 和数据 库之 间的数据 访 问层 负责
据库访问技术 。O B (p n D tB s D CO e aa ae
下开发数据库应用 系统的理想选择 方 案。
动方式来实现与数据库的连接 。例如用
户 通过 浏 览器 从 we b服 务 器 下载 含 有 J v Ap l a i n或 J v 人p lt aa p i to c aa pe 的
二 、O B D C技 术特 点
数据 库 连 接 的 函数 集 , 供 ・ 通 J 的 提 些 { {

java程序设计实用教程_(第3版)、_课后答案

java程序设计实用教程_(第3版)、_课后答案
{
System.out.print(" "+prime[i]);
if ((i+1)%10==0)
System.out.println();//每行写10个数
}
System.out.println("\nnumber="+number);
}
public staticboolean isPrime(int k)//判断k是否为素数,即在prime中查找k值
设ch是一个字符变量写出下列问题对应的表达式1判断ch是一个十进制的数字字符2判断ch是一个十六进制的数字字符3判断ch是一个大写字母4判断ch是一个英文字母不论大写和小写5如何将一个十进制的数字字符ch转换成对应的整数类型值6如何将一个十六进制的数字字符ch转换成对应的整数类型值9
第一章
1.Java具有那些适合在Internet环境中的特点?
〖解答〗程序如下。
public class Goldbach
{
static final int MAX=30;//数据范围
static int[] prime=null;//存放素数的一维数组
static int number;//素数个数,即数组的实际元素个数
public Goldbach(int n)//输出n的哥德巴赫算式
7.设i是一个整数类型变量,写出下列问题对应的表达式?
(1)判断i为奇数或偶数;
【答】i%2==0 //取值为true时是偶数,否则是奇数
(2)判断i的值是否在0~9之间;
【答】(i>0)&&(i<9)
8.设ch是一个字符变量,写出下列问题对应的表达式
(1)判断ch是一个十进制的数字字符

详解JDBC驱动的四种类型

详解JDBC驱动的四种类型

Java中的JDBC驱动可以分为四种类型,包括JDBC-ODBC桥、本地API驱动、网络协议驱动和本地协议驱动。

JDBC驱动类型一、JDBC-ODBC桥JDBC-ODBC 桥是sun公司提供的,是jdk提供的的标准API. 这种类型的驱动实际是把所有 JDBC的调用传递给ODBC ,再由ODBC调用本地数据库驱动代码.( 本地数据库驱动代码是指由数据库厂商提供的数据库操作二进制代码库,例如在oracle for windows中就是oci dll 文件)只要本地机装有相关的ODBC驱动那么采用JDBC-ODBC桥几乎可以访问所有的数据库,JDBC- ODBC方法对于客户端已经具备ODBC driver的应用还是可行的.但是,由于JDBC-ODBC先调用 ODBC再由ODBC去调用本地数据库接口访问数据库.所以,执行效率比较低,对于那些大数据量存取的应用是不适合的.而且,这种方法要求客户端必须安装ODBC 驱动,所以对于基于 internet ,intranet的应用也是不合适的.因为,你不可能要求所有客户都能找到ODBC driver.JDBC驱动类型二、本地API驱动本地API驱动直接把JDBC调用转变为数据库的标准调用再去访问数据库.这种方法需要本地数据库驱动代码. 本地API驱动 | 厂商DB代码---------------数据库Server (图二) 这种驱动比起JDBC-ODBC桥执行效率大大提高了.但是,它仍然需要在客户端加载数据库厂商提供的代码库.这样就不适合基于internet的应用.并且,他的执行效率比起3,4型的JDBC驱动还是不够高.JDBC驱动类型三、网络协议驱动这种驱动实际上是根据我们熟悉的三层结构建立的. JDBC先把对数局库的访问请求传递给网络上的中间件服务器. 中间件服务器再把请求翻译为符合数据库规范的调用,再把这种调用传给数据库服务器.如果中间件服务器也是用java开法的,那么在在中间层也可以使用1,2型 JDBC驱动程序作为访问数据库的方法. 网络协议驱动---------中间件服务器------------数据库Server由于这种驱动是基于server的.所以,它不需要在客户端加载数据库厂商提供的代码库.而且他在执行效率和可升级性方面是比较好的.因为大部分功能实现都在server端,所以这种驱动可以设计的很小,可以非常快速的加载到内存中. 但是,这种驱动在中间件层仍然需要有配置其它数据库驱动程序,并且由于多了一个中间层传递数据,它的执行效率还不是最好.JDBC驱动类型四、本地协议驱动这种驱动直接把JDBC调用转换为符合相关数据库系统规范的请求.由于4型驱动写的应用可以直接和数据库服务器通讯.这种类型的驱动完全由java实现,因此实现了平台独立性. 本地协议驱动---------数据库Server由于这种驱动不需要先把JDBC的调用传给ODBC或本地数据库接口或者是中间层服务器.所以它的执行效率是非常高的.而且,它根本不需要在客户端或服务器端装载任何的软件或驱动. 这种驱动程序可以动态的被下载.但是对于不同的数据库需要下载不同的驱动程序.以上对四种类型的JDBC驱动做了一个说明.那么它们适合那种类型的应用开发呢?JDBC-ODBC桥由于它的执行效率不高,更适合做为开发应用时的一种过度方案,或着对于初学者了解JDBC编程也较适用. 对于那些需要大数据量操作的应用程序则应该考虑2,3,4型驱动.在intranet方面的应用可以考虑2型驱动,但是由于3,4型驱动在执行效率上比2型驱动有着明显的优势,而且目前开发的趋势是使用纯java.所以3,4型驱动也可以作为考虑对象. 至于基于internet方面的应用就只有考虑3,4型驱动了. 因为3型驱动可以把多种数据库驱动都配置在中间层服务器.所以3型驱动最适合那种需要同时连接多个不同种类的数据库, 并且对并发连接要求高的应用. 4型驱动则适合那些连接单一数据库的工作组应用。

ODBC和JDBC

ODBC和JDBC

ODBC和JDBCODBC:Open DataBase Connection1.ODBC是什么 ODBC是⼀种标准--不同语⾔的应⽤程序与不同数据库服务器之间通讯的标准,可以配合很多⾼级语⾔来使⽤2.ODBC的内容 (1)⼀组API(应⽤程序接⼝),⽀持应⽤程序与数据库服务器的交互 (2)应⽤程序通过调⽤ODBC API,实现 1)与数据服务器的连接 2)向数据库服务器发送SQL命令 3)⼀条⼀条的提取数据库检索结果中的元组传递给应⽤程序的变量 (3)具体的DBMS提供⼀套驱动程序,即Driver 库函数,供ODBC调⽤,以便实现数据库与应⽤程序的连接3.应⽤程序如何通过ODBC连接⼀个数据库服务器 (1)ODBC应⽤前,需要确认具体DBMS Driver被安装到ODBC环境中 (2)当应⽤程序调⽤ ODBC API时,ODBC API 会调⽤具体DBMS Driver库函数,DBMS Driver库函数则与数据库服务端通讯,执⾏相应的请求动作并返回检索结果 (3)ODBC应⽤程序⾸先要分配⼀个SQL环境,再产⽣⼀个数据库连接句柄 (4)应⽤程序通过使⽤SQLConnect(),打开⼀个数据库连接,SQLConnect()的具体参数: 1)connection handle,连接句柄 2)the server,要连接的数据库服务器 3)the user identifier,⽤户 4)password,密码 5)SQL_NTS类型说明前⾯的参数是空终⽌的字符串 (5)举例1int ODBCexample()2 {3//分配数据库连接环境4 RETCODE error; //返回状态吗5 HENV env; //环境变量6 HDBC conn; //连接句柄7 SQLAllocEnv(&env);8 SQLAllocConnect(env,&conn);9//打开⼀个数据库连接10 SQlConnect(conn,"",SQL_NTS,"avi",SQL_NTS,"avipasswd",SQL_NTS);1112 {13 ...Do actual work ...14 }1516//断开连接与释放环境17 SQLDisconnect(conn);18 SQLFreeConnect(conn);19 SQLFreeEnv(env);20 }View Code4.应⽤程序如何通过ODBC与数据库服务器进⾏通讯 (1)应⽤程序使⽤SQLExecDirect()函数向数据库发送SQL命令 (2)使⽤SQLFetch()获取产⽣的结果元组 (3)使⽤SQLBindCol()绑定C语⾔变量与结果中的属性 1)当获取⼀个元组时,属性值会⾃动地传送到相应的C语⾔变量中 2)SQLBindCol()的参数 ODBC定义的stmt变量,查询结果中的属性位置 SQL到C的类型变换,变量的地址 对于类似字符数组⼀样的可变长度类型,应该给出 a.变量的最⼤长度 b.当获取⼀个元组后,实际长度的存储位置 c.当返回的实际长度是负数时,说明是⼀个空值5.ODBC的其他功能 (1)动态SQL语句的预编译-动态参数传递功能 (2)获取元数据特性 1)发现数据库中的所有关系的特性 2)发现每⼀个查询结果的列的名字和类型等 (3)默认每⼀条SQL语句都被作为⼀个独⽴的能够⾃动提交的事务来处理 1)应⽤程序可以关闭⼀个连接的⾃动提交特性 2)有些事务要显式的给出提交和撤销的命令JDBC:Java DataBase Connection1.JDBC是什么? JDBC是⼀组Java版的应⽤程序接⼝API,提供了Java应⽤程序与数据库服务器的连接和通讯能⼒2.JDBC API JDBC API分为两个程序包 (1)Java.sql:核⼼API--使⽤java.sql.DriverManager类,java.sql.Driver和java.sql.Connection接⼝连接到数据库 (2)javax.sql:可选扩展API--包含了JNDI的资源,以及管理连接池,分布式事务等,使⽤DataSource接⼝连接到数据库3.JDBC的功能 (1)核⼼API所包含的功能 1)java.sql.DriverManager--处理驱动的调⼊并且对产⽣新数据库连接提供⽀持 2)java.sql.Driver--通过驱动对数据库访问,连接到数据库的应⽤程序必须具有该数据库的特定驱动 3)java.sql.Connection--代表对特定数据库的连接 4)java.sql.Statement--对特定的数据库执⾏SQL操作 5)java.sql.PreparedStatement--⽤于执⾏预编译的SQL语句 6)java.sql.CallableStatement--⽤于执⾏对数据库内嵌过程的调⽤ 7)java.sql.ResultSet--从当前执⾏的SQL语句中返回结果数据 (2)java⾃带的异常捕获及其处理 Try(...) Catch(...)4.应⽤程序使⽤ java api 访问数据库的过程 (1)概念性的过程 1)打开⼀个连接:创建“Statement”对象,并设置查询语句 2)使⽤Statement对象执⾏查询,发送查询给数据库服务器和返回结果给应⽤程序 3)处理错误的例外机制 (2)实际过程 1)传递⼀个Driver给DriverManager,加载数据库驱动 //Class.forName() 2)通过URL得到⼀个Connection对象,建⽴数据库连接 //DriverManger.getConnection(sDBRrl) or DriverManger.getConnection(sDBUrl, sDBRserID, sDBPassword) 3)创建⼀个Statement对象(PreparedStatement 或 CallableStatement),⽤来查询或修改数据库 //Satement stmt = con.createStatement stmt是⼀个Statement类型的句柄 4)查询返回⼀个ResultSet //ResultSet rs = stmt.executeQuery(sSQL) 5)错误捕获语句 (3)更新操作Update to database (4)查询操作Execute query and fetch and print results (5)⽰例1//Java 类2public static void JDBCexample(String dbid, String userid, String passwd)3 {4try{5 Class.forName("oracle.jdbc.driver.OracleDriver");6 Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@:1521:univdb",userid,passwd);7 Statement stmt = conn.createStatement();8try{9 stmt.executeUpdate("insert into instructor values('77978','Kim','Physics','98000')");10 }catch(SQLException sqle){11 System.out.println("Could not insert tuple."+sqle);12 }13 ResultSet rset = stmt.executeQuery("select dept_name, avg(salary)"+"from instructor group by dept_name");14while(rset.next())15 {16 System.out.println(rset.getString("dept_name")+""+rset.getFloat(2));17 }18 stmt.close();19 conn.close();20 }catch (SQLException sqle){21 System.out.println("SQLException:"+sqle);22 }23 }View Code5.ODBC和JDBC⽐较 (1)嵌⼊式SQL的思维模式:语句形式执⾏ 建⽴数据连接--声明⼀个游标--打开游标--获取⼀条记录--关闭游标--断开数据库连接 (2)ODBC的思维模式:API函数形式执⾏ 建⽴数据库连接--分配语句句柄--⽤句柄执⾏SQL--建⽴⾼级语⾔变量与句柄属性的对应--获取⼀条⼀条的记录--释放语句句柄--断开数据库连接 (3)JDBC的思维模式:对象形式执⾏ 建⽴数据连接--创建语句对象--⽤语句对象执⾏SQL,并返回结果对象--从结果对象获取⼀条⼀条记录--提取对象的属性值传给⾼级语⾔变量--释放语句对象--断开数据库连接 (4)嵌⼊式SQL对数据库的访问 ⽤户<-->应⽤程序<-->数据库管理系统<-->操作系统 (5)基于JDBC/ODBC的数据库访问 ⽤户<-->应⽤程序<-->通⽤编程接⼝(ODBC)<-->数据库管理系统<-->操作系统 通⽤编程接⼝:使得不同数据库管理系统可以执⾏同⼀命令。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JDBC-ODBC
• Sun公司还开发了JDBC-ODBC bridge,用 此技术Java程序就可以访问带有ODBC驱动 程序的数据库,目前大多数数据库系统都带 有ODBC驱动程序,所以Java程序能访问诸 如Oracle、Sybase、MS SQL Server和MS Access等数据库。
JDBC-ODBC
通过ODBC驱动程序来获得对 数据库的JDBC访问 必须在客户端: 安装ODBC驱动程序 配置ODBC数据源。 仅当特定的数据库系统没有相 应的JDBC驱动程序时使用。 JDBC兼容ODBC的过渡性措施
Application Space Java Application JDBC – ODBC Bridge SQL Command Result Set


ODBC Driver

Proprietary Protocol
Database

应用程序 JDBC驱动程序 管理器 ODBC驱动程序 管理器
JDBC-ODBC桥驱动 程序使用一段本地C 代码将对JDBC接口的 调用转换为对ODBC 接口的调用。
ODBC数据库
ODBC驱动程序
JDBC-ODBC的体系结构 NhomakorabeaJDBC-ODBC Bridge

由 Sun的Java2 JDK提供的驱 动
ODBC驱动程序
ODBC优点
• ODBC的最大优点:能以统一的方式处理所有的数据库 ▫ 不依赖任何DBMS,不直接与DBMS打交道,所有的 数据库操作由对应DBMS的ODBC驱动程序完成; ▫ 不论是FoxPro、Access、MYSQL还是Oracle数据库 ,均可用ODBC API进行访问。
JDBC驱动 程序API
ODBC驱动程序
数据库
ODBC简介
• Open DataBase Connectivity 开放数据库连接 • 微软公司开放服务结构中有关数据库的一个组成部分, 它建立了一组规范,并提供了一组对数据库访问的标 准API。这些API利用SQL来完成其大部分任务。 • 提供对各种数据库的统一连接操作 ▫ 各种数据库ODBC驱动程序 • 在windows系统中提供了很好的支持 ▫ 集成了多数主流数据库的ODBC驱动 ▫ 提供数据源配置管理(数据源配置)
• JDBC是由一组驱动程序实现的Java接口,驱动程 序负责从标准JDBC调用向支持的数据库所需要的 具体调用转变。
应 用 程 序
Access 数据库
JDBC
SQLSERVER 数据库
JDBC的基本结构
Java应用程序 JDBC驱动程序、管理器 厂家提供的 JDBC驱动程序
JDBC-ODBC桥
JDBC与ODBC
引子
引子
如何进行数据的访问????
应 用 程 序
数据库
JDBC简介
• Java DataBase Connectivity Java数据库连接 • 一种用于执行SQL语句的Java API,可以为多种 关系数据库提供统一访问,它由一组用Java语言 编写的类和接口组成。JDBC提供了一种基准,据 此可以构建更高级的工具和接口,使数据库开发 人员能够编写数据库应用程序,同时,JDBC也是 个商标名。
相关文档
最新文档