发信人: noddy_fan(佐佑) 
整理人: pengxiaohui(2001-07-16 09:51:57), 站内信件
 | 
 
 
 1. 应用程序
   用户应用程序实现激活JDBC方法的数据库,发送SQL,然后获取结果功能,执行以下任务:
 	与数据源请求建立连接
 	向数据源发送SQL请求
 	为结果集定义存储应用和数据类型
 	询问结果
          过程处理错误
 	控制传输,提交操作或卷回操作
 	关闭连接
 2. 驱动程序管理器
 JDBC驱动程序管理器主要作用是代表用户的应用程序调入特定驱动程序:
 	为特定数据库定位驱动程序
 	处理JDBC初始化调用
 	为每个驱动程序提供JDBC功跑入口点
 	为JDBC调用执行参数和结果有效性
 3. 驱动程序
 驱动程序处理JDBC方法激活,向特定数据源发送SQL声明,并且为应用程序获取结果.在必要时侯,驱动程序翻译与/或优化请求,这样使请求符合DBMS支持的语言,驱动程序完成以下任务:
 	建立与数据源的连接
 	向数据源发送请求,
 	用户程序请求时,执行翻译
 	将错误代码格式成标准的JDBC错误代码
 	如果必要的话,管理游标
 	如果是显示的话,建立传输
 4. 数据源
 数据源由用户应用程序想访问的数据源和自身参数组成(换句话说就是,DBMS类型和网络层)
 JDBC API定义了用户应用程序和驱动程序管理期间可能的交互作用,JDBC API定义了所有驱动程序和所有JDBC驱动程序和交互作用.
 
 
 JDBC API 编程接口和类:
 Java.sql.DriverManger:给类提供调入驱动程序的方法,并支持java.sql.Driver接口中的类创建数据库连接
 Java.sql.Connection:显示一个将要执行进一步行动的特定连接
 Java.sql.Statement:同一个连接一起向数据库发送声明
 Java.sql.CallableSeatement:同上,但是以数据库存储函数形式发送声明
 Java.sql.PreparedStatement:同上,但是以预编译的形式发送声明
 Java.sql.ResultSee:允许访问查询声明的结果集
 Java.sql.ResultSetMetaData:提供结果集中,如行类型和行属性的信息
 Java.sql.DatabaseMetaData:提供数据库综合信息
 加载驱动程序
 JDBC通过JDBC.Driver系统属性来获取关于可利用驱动程序信息的资料,从命令行解释器或利用属性配置文件可给jdbc.driver系统属性进行设置:
 	利用命令解释器对静态的应用程序进行驱动器设置:
 % java-Djdbc.drivers=foobar MyProgram
 % java-Djdbc.drivers=foobar sun.applet.AppletViewer
   MyApplet.html
 	利用属性文件进行驱动器设置:
 # on unix,this is /.hotjava/properties
 jdbc.drivers=vendor1.driver1
    选择不同的驱动程序:
    vendor1.dbdrv,vendor2.sql.foodriver,vendor3.db.connectdrv
 	利用编程技术强迫装入驱动程序
 Class.forName(“sun.jdbc.odbc.jdbcOdbcDriver”)
 装载的是jdbc-odbc bridge的java代码
 这种技术的另一种方法是:
 java.sql.Driver myDriver = new sun.jdbc.odbc.jdbcOdbcDriver();
 java.sql.DriverManager.registerDriver(myDriver);
 查询数据库
 jdbc数据源使用的URL语法如下:
 jdbc:<subprotocol>:<subname>
 其中jdbc表示使用的协议是JDBC,<subprotocol>是使用的JDBC驱动程序名,
 <subname>是根据子协议而定的参数字符串。
 例如:jdbc:odbc:sampledb; UID = javauser; PWD = hotjava;
 例中使用了一个JDBC-ODBC bridge,并且ODBC数据源名称是sampledb。数据库的用户名是javauser,口令是hotjava。
 Jdbc:mydbdrv://www.mydomain.net:8192 / mydb
 其中使用的子协议是mydbdrv,数据库引擎运行于www.mydomain .net主服务器上。TCP/IP端口号是8192,访问的数据库名称是mydb.
 ODBC的子协议URL必须一直符合下面的语法:
  Jdbc:odbc:<dsn>[;<attribute-name> = <attribute-value>]*
 建立连接 
 利用驱动程序管理器的get(connection)方法请求一个connection对象:
  …
   Connection connection;
 String url = “ jdbc:odbc:datasource”;
 Class.forName (“ sun.jdbc.odbc.jdbcOdbcDriver”)
 Connection = DriverManager.getConnection(url,”javauser”,”hotjava”);
  …
 //使用的协议---JDBC
 //使用的驱动程序---JDBC-ODBC bridge
 //ODBC数据源---mysource
 //用户名称---javauser
 //口令--- hotjava
 其他方法如:
  Connection getConnection(String url);
  Connection getConnection(String url, String user, String password)
  Connection getConnection(String url, java.util.Properties info);
 Sample:
 建立和关闭一个连接
 import java.sql.*;
 class SimpleExample
  {
    public static coid main(String args[])
     { 
       String url = ”jdbc:odbc:mysource”;
      Try{
          Class.forName(“sun.jdbc.odbc.jdbcOdbcDriver”);
 Connection connection =
 DriverManager.getConnection(url,”javauseer,”hotjava”);
           Connection.close();
         }
    catch(Exception ex)
 {
            System.out.println(“A problem occurred during the establishment of the connection:” + ex);
         }
      }
   }
  | 
 
 
 |