Atitit.跨语言数据库db api兼容性 jdbc odbc ado oledb 增强方案
Atitit.跨语言数据库db api兼容性 jdbc odbc ado oledb 增强方案
2. 目前访问数据库的接口很多。比较常用的jdbc odbc 以及c api (php用此接口),共约101个类+128个c函数1
2.1. Jdbc api数量 约60个类..java.sql包下面的。。大概几百个方法函数吧。。2
2.2. Odbc api数量::约78个,odbc是个非oo的api2
4. Jdbc Package java.sql Jdbc api数量 约60个类..java.sql包下面的。。5
1. 跨语言db api兼容性。。
方便源码移植。。需要实现常用的 jdbc odbc c_api接口。。总共约好几百个个方法函数(预估,因为jdbc方法数量与属性暂时未统计)
2. 目前访问数据库的接口很多。比较常用的jdbc odbc 以及c api (php用此接口),共约101个类+128个c函数
2.1. Jdbc api数量 约60个类..java.sql包下面的。。大概几百个方法函数吧。。
2.2. Odbc api数量::约78个,odbc是个非oo的api
2.3. C api (mysql ): 约50个。。
这些开发包支持两种模式的数据库开发:预编译的嵌入模式(例如Oracle的ProC,SQL Server的ESQL)和API调用(例如Oracle的OCI)。
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
2.4. Ado 9个类 约一百多个api了吧
ADO 对象
· Command
· Error
· Field
· Property
· Record
· Stream
2.5. Oledb 32个类
OleDbCommand 类
OleDbCommandBuilder 类
OleDbConnection 类
OleDbConnection 成员
OleDbConnection 构造函数
OleDbConnection 方法
OleDbConnection 属性
OleDbConnection 事件
OleDbConnectionStringBuilder 类
OleDbDataAdapter 类
OleDbDataReader 类
OleDbEnumerator 类
OleDbError 类
OleDbErrorCollection 类
OleDbException 类
OleDbFactory 类
OleDbInfoMessageEventArgs 类
OleDbInfoMessageEventHandler 委托
OleDbLiteral 枚举
OleDbMetaDataCollectionNames 类
OleDbMetaDataColumnNames 类
OleDbParameter 类
OleDbParameterCollection 类
OleDbPermission 类
OleDbPermissionAttribute 类
OleDbRowUpdatedEventArgs 类
OleDbRowUpdatedEventHandler 委托
OleDbRowUpdatingEventArgs 类
OleDbRowUpdatingEventHandler 委托
OleDbSchemaGuid 类
OleDbTransaction 类
OleDbType 枚举
3. ADO、OLEDB、ODBC之间的关系图
Oracle的OCI是一个非常优秀的C语言开发包,在ODBC中就在很多地方参照了OCI的设计。
下面是微软提出的所有连接方式:
ODBC(Open DataBase Connectivity)开放数据库互联。是由微软主导的数据库链接标准,只支持关系型数据库。
DAO(Data Access Object)数据访问对象。不提供远程访问功能。
RDO(Remote Data Object)远程数据对象。速度快,支持SQL Server存储过程。
OLEDB(Object Linking and Embedding DataBase)对象链接和嵌入数据库。
ADO(ActiveX Data Object)ActiveX数据对象。
使用中,我们一般用OLE-DB和ADO替代DAO和RDO,DAO和RDO我也没用过,所以下面主要记录下ADO、OLEDB、ODBC之间的关系。
编程
接口)。这些API利用 SQL来完成其大部
4. Jdbc Package java.sql Jdbc api数量 约60个类..java.sql包下面的。。
Provides the API for accessing and processing data stored in a data source (usually a relational database) using the JavaTM programming language.
See: Description
·
|
Interface Summary |
|
|
Interface |
Description |
|
The mapping in the Java programming language for the SQL type ARRAY. |
|
|
The representation (mapping) in the Java™ programming language of an SQL BLOB value. |
|
|
The interface used to execute SQL stored procedures. |
|
|
The mapping in the Java™ programming language for the SQL CLOB type. |
|
|
A connection (session) with a specific database. |
|
|
Comprehensive information about the database as a whole. |
|
|
The interface that every driver class must implement. |
|
|
An interface that must be implemented when a Driver wants to be notified by DriverManager. |
|
|
The mapping in the Java™ programming language for the SQL NCLOB type. |
|
|
An object that can be used to get information about the types and properties for each parameter marker in a PreparedStatement object. |
|
|
An object that represents a precompiled SQL statement. |
|
|
The mapping in the Java programming language of an SQL REF value, which is a reference to an SQL structured type value in the database. |
|
|
A table of data representing a database result set, which is usually generated by executing a statement that queries the database. |
|
|
An object that can be used to get information about the types and properties of the columns in a ResultSet object. |
|
|
The representation (mapping) in the Java programming language of an SQL ROWID value. |
|
|
The representation of a savepoint, which is a point within the current transaction that can be referenced from the Connection.rollback method. |
|
|
The interface used for the custom mapping of an SQL user-defined type (UDT) to a class in the Java programming language. |
|
|
An input stream that contains a stream of values representing an instance of an SQL structured type or an SQL distinct type. |
|
|
The output stream for writing the attributes of a user-defined type back to the database. |
|
|
An object that is used to identify a generic SQL type, called a JDBC type or a vendor specific data type. |
|
|
The mapping in the JavaTM programming language for the SQL XML type. |
|
|
The object used for executing a static SQL statement and returning the results it produces. |
|
|
The standard mapping in the Java programming language for an SQL structured type. |
|
|
Interface for JDBC classes which provide the ability to retrieve the delegate instance when the instance in question is in fact a proxy class. |
|
·
·
|
Class Summary |
|
|
Class |
Description |
|
A thin wrapper around a millisecond value that allows JDBC to identify this as an SQL DATE value. |
|
|
The basic service for managing a set of JDBC drivers. |
|
|
Driver properties for making a connection. |
|
|
The permission for which the SecurityManager will check when code that is running an application with a SecurityManager enabled, calls theDriverManager.deregisterDriver method, DriverManager.setLogWriter method, DriverManager.setLogStream (deprecated) method,SyncFactory.setJNDIContext method, SyncFactory.setLogger method, Connection.setNetworktimeout method, or the Connection.abort method. |
|
|
A thin wrapper around the java.util.Date class that allows the JDBC API to identify this as an SQL TIME value. |
|
|
A thin wrapper around java.util.Date that allows the JDBC API to identify this as an SQL TIMESTAMP value. |
|
|
The class that defines the constants that are used to identify generic SQL types, called JDBC types. |
|
·
·
|
Enum Summary |
|
|
Enum |
Description |
|
Enumeration for status of the reason that a property could not be set via a call to Connection.setClientInfo |
|
|
Defines the constants that are used to identify generic SQL types, called JDBC types. |
|
|
Enumeration for pseudo/hidden column usage. |
|
|
Enumeration for RowId life-time values. |
|
·
·
|
Exception Summary |
|
|
Exception |
Description |
|
The subclass of SQLException thrown when an error occurs during a batch update operation. |
|
|
An exception thrown as a DataTruncation exception (on writes) or reported as a DataTruncation warning (on reads) when a data values is unexpectedly truncated for reasons other than its having exceeded MaxFieldSize. |
|
|
The subclass of SQLException is thrown when one or more client info properties could not be set on a Connection. |
|
|
The subclass of SQLException thrown when the SQLState class value is '22', or under vendor-specified conditions. |
|
|
An exception that provides information on a database access error or other errors. |
|
|
The subclass of SQLException thrown when the SQLState class value is '0A' ( the value is 'zero' A). |
|
|
The subclass of SQLException thrown when the SQLState class value is '23', or under vendor-specified conditions. |
|
|
The subclass of SQLException thrown when the SQLState class value is '28', or under vendor-specified conditions. |
|
|
The subclass of SQLException thrown for the SQLState class value '08', or under vendor-specified conditions. |
|
|
The subclass of SQLException thrown when an instance where a retry of the same operation would fail unless the cause of the SQLException is corrected. |
|
|
The subclass of SQLException thrown in situations where a previously failed operation might be able to succeed if the application performs some recovery steps and retries the entire transaction or in the case of a distributed transaction, the transaction branch. |
|
|
The subclass of SQLException thrown when the SQLState class value is '42', or under vendor-specified conditions. |
|
|
The subclass of SQLException thrown when the timeout specified by Statement.setQueryTimeout, DriverManager.setLoginTimeout,DataSource.setLoginTimeout,XADataSource.setLoginTimeout has expired. |
|
|
The subclass of SQLException thrown when the SQLState class value is '40', or under vendor-specified conditions. |
|
|
The subclass of SQLException for the SQLState class value '08', or under vendor-specified conditions. |
|
|
The subclass of SQLException is thrown in situations where a previously failed operation might be able to succeed when the operation is retried without any intervention by application-level functionality. |
|
|
An exception that provides information on database access warnings. |
|
·
5. Odbc api信息 约78个api
依据 ODBC 的规格,其API共可分为以下九类:
1. SQLAllocEnv.
2. SQLAllocConnect.
3. SQLConnect.
4. SQLPriverConnect.
5. SQLBrowseConnect.
1. SQLDataSource.
2. SQLGetInfo.
3. SQLGetFunctions.
4. SQLGetTypeInfo.
1. SQLSetConnectOption.
This section contains topics for the following functions:
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
6. 参考
ADO、OLEDB、ODBC之间的关系图 - 百科教程网_经验分享平台[上学吧经验教程频道].html
java.sql (Java Platform SE 8 ).html
ODBC API Reference.html
OleDbConnection 类 (System.Data.OleDb).html
Atitit.跨语言数据库db api兼容性 jdbc odbc ado oledb 增强方案的更多相关文章
- atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js
atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js 1. 两个方法:: bat vs mysqldump(推荐) vs lang ...
- atitit.跨语言执行cmd cli api的原理及兼容性设计草案
atitit.跨语言执行cmd cli api的原理及兼容性设计草案 1. 标准输入,标准输出,标准错误与重新定向1 2. 常见问题2 2.1. 执行bat文件2 2.2. 执行bat文件 /c ...
- Atitit.跨语言反射api 兼容性提升与增强 java c#。Net php js
Atitit.跨语言反射api 兼容性提升与增强 java c#.Net php js 1. 什么是反射1 1.1. 反射提供的主要功能:1 1.2. 实现反射的过程:1 ...
- Atitit.跨语言 java c#.net php js常用的codec encode算法api 兼容性 应该内置到语言里面
Atitit.跨语言 java c#.net php js常用的codec encode算法api 兼容性 应该内置到语言里面 1. 常用算法1 1.1. 目录2 1.2. 定义和用法编辑2 1.3 ...
- Atitit.跨语言系统服务管理器api兼容设计
Atitit.跨语言系统服务管理器api兼容设计 1. Common api,兼容sc ,service control??1 1.1. 服务创建,use sc1 1.2. 服务delete ,use ...
- Atitit.跨语言异常转换机制 java c# php到js的异常转换
Atitit.跨语言异常转换机制 java c# php到js的异常转换 1. bizEx 直接抓取,然后js catchEX1 2. Chkec runtimeEx1 3. Other异常..J ...
- Atitit.跨语言 文件夹与文件的io操作集合 草案
Atitit.跨语言 文件夹与文件的io操作集合 草案 1. Jdk原生的太难用了..1 2. PS: apache commons-io包,FileUtils有相关的方法,IOUtils一般是拷 ...
- Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216 java c# php js.docx
Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216 java c# php js.docx 1.1. 预定义函数 魔术方法 魔术函数是什么1 1.2. & ...
- 数据库访问接口(ODBC,OLEDB,ADO)
数据库访问接口发展历史 ODBC历史 ODBC(Open Database Connectivity,开放数据库互连).要了解ODBC是什么,先了解一下数据库连接的相关知识.在最开始连接数据库时,由于 ...
随机推荐
- [BZOJ2823][BZOJ1336][BZOJ1337]最小圆覆盖(随机增量法)
算法介绍网上有很多,不解释了. 给出三点坐标求圆心方法:https://blog.csdn.net/liyuanbhu/article/details/52891868 记得先random_shuff ...
- 【数论】【最大公约数】【枚举约数】CODEVS 1012 最大公约数和最小公倍数问题 2001年NOIP全国联赛普及组
对于一对数(p,q),若它们的gcd为x0,lcm为y0, 则:p*q/x0=y0,即q=x0*y0/p, 由于p.q是正整数,所以p.q都必须是x0*y0的约数. 所以O(sqrt(x0*y0))地 ...
- laravel中的事件处理
一.什么是事件处理 事件就是在特地时间.特定地点.发生的特定行为.例如:删除某个用户帖子这个行为后,要通过站短发送信息给帖子所属的用户.这里就有删除帖子事件,发站短是事件后处理. 二.为什么要使用事件 ...
- Java生成扫描可以生成手机号名片的二维码
(1)需求:用户通过扫描pc端网站后台管理系统的二维码获取对接人的相关信息,主要是是手机号信息,达到点击可以直接打电话或者将对接人的信息直接保存到通讯录 注:源码来源:https://blog.csd ...
- Oracle的取整和四舍五入函数——floor,round,ceil,trunc使用说明
Oracle的取整和四舍五入函数——floor,round,ceil,trunc使用说明 FLOOR——对给定的数字取整数位SQL> select floor(2345.67) from dua ...
- springBoot框架的一些概念
Spring的发展史1. Spring1.x 时代 在Spring1.x时代,都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在java类和xml ...
- final修饰符的三种使用场景
final有三种使用场景,各自是修饰变量.方法和类.不管哪种修饰.一旦声明为final类型.你将不能改变这个引用了,编译器会检查代码,假设你试图再次初始化,编译器会报错.以下我来详细说说每一种修饰场景 ...
- 关于 Delphi 中流的使用(2) 用 TFileStream(文件流) 读写
TStream 是一个抽象的基类, 不能直接生成对象. 在具体的应用中, 主要使用它的子孙类:TFileStream: 文件流TStringStream: 字符串流TMemoryStream: 内存流 ...
- C#之鼠标模拟技术
游戏程序的操作不外乎两种——键盘输入控制和鼠标输入控制,几乎所有游戏中都使用鼠标来改变角色的位置和方向,本文主要是讲述如何使用C#调用Windows API函数实现鼠标模拟操作的功能.首先通过结合Fi ...
- javascript快速入门23--XHR—XMLHttpRequest对象
创建XMLHttpRequest对象 与之前众多DOM操作一样,创建XHR对象也具有兼容性问题:IE6及之前的版本使用ActiveXObject,IE7之后及其它浏览器使用XMLHttpRequest ...