一。基于驱动的API编程
基于驱动编程解决方案的核心就是驱动管理器(driver manager)。驱动管理器提供了一系列符合工业标准的应用编程接口(APIs)来访问数据源。因为驱动遵守统一的标准,所以应用程序可以轻松地使用正确的驱动程序来访问不同厂商的数据源。
1JDBC和SQLJ
JDBC是一种调用动态SQL访问关系数据库的标准API,并拥有一套强有力的面向对象接口。其基本的访问过程为:JDBC将动态SQL语句传递给DB2提供的JDBC驱动,DB2通过JDBC API执行SQL语句,并将结果返回到Java代码中。JDBC和DB2 CLI类似,使用动态SQL,因此不需要预编译或邦定JDBC程序。
SQLJ程序是将SQL语句潜入到Java源码中,其中宝航的实静态SQL语句,所以要完成和预编译及邦定类似的步骤。在编译SQLJ源文件之前,必须用SQLJ翻译器将其翻译成本及的Java源代码。翻译结束后,必须使用DB2为Java提供的Java配置文件定制器(db2profc)创建DB2程序包。SQLJ的底层是使用JDBC驱动程序实现的。
JDBC | SQLJ |
通过API调用执行SQL | 嵌入式SQL |
动态SQL | 静态SQL |
不需要预编译 | 需要通过预编译创建程序 |
代码相对较多 | 程序所需代码少,易于调试 |
在编译时对传入的SQL的值不进行检查 | 编译室进行语义和语法检查 |
对传出的SQL的值不加检查 | 对查询金额iguohe返回值提供强类型检查 |
SQL语句隐藏在程序中 | 嵌入的SQL语句与独立的SQL一样 |
对执行前不确定的数据对象有力 | 由于静态SQL限制,不利于处理执行前不确定的对象 |
2。OLE DB和ADO.NET
3。CLI和ODBC