Atitit.跨语言数据库db  api兼容性 jdbc odbc ado oledb 增强方案

1. 跨语言db api兼容性。。1

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

2.3. C api (mysql ): 约50个。。2

2.4. Ado   9个类  约一百多个api了吧2

2.5. Oledb 32个类2

3. ADO、OLEDB、ODBC之间的关系图4

4. Jdbc Package java.sql Jdbc api数量  约60个类..java.sql包下面的。。5

5. Odbc api信息 约78个api10

6. 参考19

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

· Connection

· Error

· Field

· Parameter

· Property

· Record

· Recordset

· Stream

2.5. Oledb 32个类

System.Data.OleDb

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

Array

The mapping in the Java programming language for the SQL type ARRAY.

Blob

The representation (mapping) in the Java™ programming language of an SQL BLOB value.

CallableStatement

The interface used to execute SQL stored procedures.

Clob

The mapping in the Java™ programming language for the SQL CLOB type.

Connection

A connection (session) with a specific database.

DatabaseMetaData

Comprehensive information about the database as a whole.

Driver

The interface that every driver class must implement.

DriverAction

An interface that must be implemented when a Driver wants to be notified by DriverManager.

NClob

The mapping in the Java™ programming language for the SQL NCLOB type.

ParameterMetaData

An object that can be used to get information about the types and properties for each parameter marker in a PreparedStatement object.

PreparedStatement

An object that represents a precompiled SQL statement.

Ref

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.

ResultSet

A table of data representing a database result set, which is usually generated by executing a statement that queries the database.

ResultSetMetaData

An object that can be used to get information about the types and properties of the columns in a ResultSet object.

RowId

The representation (mapping) in the Java programming language of an SQL ROWID value.

Savepoint

The representation of a savepoint, which is a point within the current transaction that can be referenced from the Connection.rollback method.

SQLData

The interface used for the custom mapping of an SQL user-defined type (UDT) to a class in the Java programming language.

SQLInput

An input stream that contains a stream of values representing an instance of an SQL structured type or an SQL distinct type.

SQLOutput

The output stream for writing the attributes of a user-defined type back to the database.

SQLType

An object that is used to identify a generic SQL type, called a JDBC type or a vendor specific data type.

SQLXML

The mapping in the JavaTM programming language for the SQL XML type.

Statement

The object used for executing a static SQL statement and returning the results it produces.

Struct

The standard mapping in the Java programming language for an SQL structured type.

Wrapper

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

Date

A thin wrapper around a millisecond value that allows JDBC to identify this as an SQL DATE value.

DriverManager

The basic service for managing a set of JDBC drivers.
NOTE: The DataSource interface, new in the JDBC 2.0 API, provides another way to connect to a data source.

DriverPropertyInfo

Driver properties for making a connection.

SQLPermission

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.

Time

A thin wrapper around the java.util.Date class that allows the JDBC API to identify this as an SQL TIME value.

Timestamp

A thin wrapper around java.util.Date that allows the JDBC API to identify this as an SQL TIMESTAMP value.

Types

The class that defines the constants that are used to identify generic SQL types, called JDBC types.

·

·

Enum Summary

Enum

Description

ClientInfoStatus

Enumeration for status of the reason that a property could not be set via a call to Connection.setClientInfo

JDBCType

Defines the constants that are used to identify generic SQL types, called JDBC types.

PseudoColumnUsage

Enumeration for pseudo/hidden column usage.

RowIdLifetime

Enumeration for RowId life-time values.

·

·

Exception Summary

Exception

Description

BatchUpdateException

The subclass of SQLException thrown when an error occurs during a batch update operation.

DataTruncation

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.

SQLClientInfoException

The subclass of SQLException is thrown when one or more client info properties could not be set on a Connection.

SQLDataException

The subclass of SQLException thrown when the SQLState class value is '22', or under vendor-specified conditions.

SQLException

An exception that provides information on a database access error or other errors.

SQLFeatureNotSupportedException

The subclass of SQLException thrown when the SQLState class value is '0A' ( the value is 'zero' A).

SQLIntegrityConstraintViolationException

The subclass of SQLException thrown when the SQLState class value is '23', or under vendor-specified conditions.

SQLInvalidAuthorizationSpecException

The subclass of SQLException thrown when the SQLState class value is '28', or under vendor-specified conditions.

SQLNonTransientConnectionException

The subclass of SQLException thrown for the SQLState class value '08', or under vendor-specified conditions.

SQLNonTransientException

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.

SQLRecoverableException

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.

SQLSyntaxErrorException

The subclass of SQLException thrown when the SQLState class value is '42', or under vendor-specified conditions.

SQLTimeoutException

The subclass of SQLException thrown when the timeout specified by Statement.setQueryTimeout, DriverManager.setLoginTimeout,DataSource.setLoginTimeout,XADataSource.setLoginTimeout has expired.

SQLTransactionRollbackException

The subclass of SQLException thrown when the SQLState class value is '40', or under vendor-specified conditions.

SQLTransientConnectionException

The subclass of SQLException for the SQLState class value '08', or under vendor-specified conditions.

SQLTransientException

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.

SQLWarning

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:

·

SQLAllocConnect Function

·

·

SQLAllocEnv Function

·

·

SQLAllocHandle Function

·

·

SQLAllocStmt Function

·

·

SQLBindCol Function

·

·

SQLBindParameter Function

·

·

SQLBrowseConnect Function

·

·

SQLBulkOperations Function

·

·

SQLCancel Function

·

·

SQLCancelHandle Function

·

·

SQLCloseCursor Function

·

·

SQLColAttribute Function

·

·

SQLColAttributes Function

·

·

SQLColumnPrivileges Function

·

·

SQLColumns Function

·

·

SQLCompleteAsync Function

·

·

SQLConnect Function

·

·

SQLCopyDesc Function

·

·

SQLDataSources Function

·

·

SQLDescribeCol Function

·

·

SQLDescribeParam Function

·

·

SQLDisconnect Function

·

·

SQLDriverConnect Function

·

·

SQLDrivers Function

·

·

SQLEndTran Function

·

·

SQLError Function

·

·

SQLExecDirect Function

·

·

SQLExecute Function

·

·

SQLExtendedFetch Function

·

·

SQLFetch Function

·

·

SQLFetchScroll Function

·

·

SQLForeignKeys Function

·

·

SQLFreeConnect Function

·

·

SQLFreeEnv Function

·

·

SQLFreeHandle Function

·

·

SQLFreeStmt Function

·

·

SQLGetConnectAttr Function

·

·

SQLGetConnectOption Function

·

·

SQLGetCursorName Function

·

·

SQLGetData Function

·

·

SQLGetDescField Function

·

·

SQLGetDescRec Function

·

·

SQLGetDiagField Function

·

·

SQLGetDiagRec Function

·

·

SQLGetEnvAttr Function

·

·

SQLGetFunctions Function

·

·

SQLGetInfo Function

·

·

SQLGetStmtAttr Function

·

·

SQLGetStmtOption Function

·

·

SQLGetTypeInfo Function

·

·

SQLMoreResults Function

·

·

SQLNativeSql Function

·

·

SQLNumParams Function

·

·

SQLNumResultCols Function

·

·

SQLParamData Function

·

·

SQLParamOptions Function

·

·

SQLPrepare Function

·

·

SQLPrimaryKeys Function

·

·

SQLProcedureColumns Function

·

·

SQLProcedures Function

·

·

SQLPutData Function

·

·

SQLRowCount Function

·

·

SQLSetConnectAttr Function

·

·

SQLSetConnectOption Function

·

·

SQLSetCursorName Function

·

·

SQLSetDescField Function

·

·

SQLSetDescRec Function

·

·

SQLSetEnvAttr Function

·

·

SQLSetParam Function

·

·

SQLSetPos Function

·

·

SQLSetScrollOptions Function

·

·

SQLSetStmtAttr Function

·

·

SQLSetStmtOption Function

·

·

SQLSpecialColumns Function

·

·

SQLStatistics Function

·

·

SQLTablePrivileges Function

·

·

SQLTables Function

·

·

SQLTransact Function

·

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 增强方案的更多相关文章

  1. atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js

    atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js 1. 两个方法:: bat vs mysqldump(推荐)  vs   lang  ...

  2. atitit.跨语言执行cmd cli api的原理及兼容性设计草案

    atitit.跨语言执行cmd cli api的原理及兼容性设计草案 1. 标准输入,标准输出,标准错误与重新定向1 2. 常见问题2 2.1. 执行bat文件2 2.2. 执行bat文件  /c   ...

  3. Atitit.跨语言反射api 兼容性提升与增强 java c#。Net  php  js

    Atitit.跨语言反射api 兼容性提升与增强 java c#.Net  php  js 1. 什么是反射1 1.1.       反射提供的主要功能:1 1.2.       实现反射的过程:1 ...

  4. 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 ...

  5. Atitit.跨语言系统服务管理器api兼容设计

    Atitit.跨语言系统服务管理器api兼容设计 1. Common api,兼容sc ,service control??1 1.1. 服务创建,use sc1 1.2. 服务delete ,use ...

  6. Atitit.跨语言异常转换机制 java c# php到js的异常转换

    Atitit.跨语言异常转换机制 java c# php到js的异常转换 1. bizEx   直接抓取,然后js catchEX1 2. Chkec runtimeEx1 3. Other异常..J ...

  7. Atitit.跨语言  文件夹与文件的io操作集合  草案

    Atitit.跨语言  文件夹与文件的io操作集合  草案 1. Jdk原生的太难用了..1 2. PS: apache commons-io包,FileUtils有相关的方法,IOUtils一般是拷 ...

  8. Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216  java c# php js.docx

    Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216  java c# php js.docx 1.1. 预定义函数 魔术方法 魔术函数是什么1 1.2. & ...

  9. 数据库访问接口(ODBC,OLEDB,ADO)

    数据库访问接口发展历史 ODBC历史 ODBC(Open Database Connectivity,开放数据库互连).要了解ODBC是什么,先了解一下数据库连接的相关知识.在最开始连接数据库时,由于 ...

随机推荐

  1. 转 IntelliJ IDEA 快捷键

    https://www.cnblogs.com/clwydjgs/p/9390488.html 一.视图查看 Ctrl+F12 查看file,method结构图.类继承机构图 (不知道方法结构,Ctr ...

  2. 杭电oj 1000

    今天开始和一个认识的学弟刷题. 学弟是个大牛,我还是个菜鸟.嘿嘿. 杭电第一题我就wrong了好几次. #include <iostream> using namespace std; i ...

  3. java.lang.NoSuchMethodError: org.springframework.beans.factory.xml.XmlReaderContext.getResourceLoader()Lorg/springframework/core/io/ResourceLoader

    问题原因 在整合spring跟struts2是使用Maven,用到struts2-spring-plugin.jar,但是maven不但但加载了这个jar文件还有spring-beans:3.0.5. ...

  4. POJ 2348 Euclid's Game(博弈论)

    [题目链接] http://poj.org/problem?id=2348 [题目大意] 给出两个数,两个参赛者轮流用一个数减去另一个数的倍数,当一个数为0的时候游戏获胜, 求先手是否必胜 [题解] ...

  5. 【贪心】Codeforces Round #402 (Div. 2) C. Dishonest Sellers

    按照b[i]-a[i],对物品从大到小排序,如果这个值大于零,肯定要立刻购买,倘若小于0了,但是没买够K个的话,也得立刻购买. #include<cstdio> #include<a ...

  6. 【数论】【快速幂】CODEVS 2952 细胞分裂 2

    裸快速幂取模,背诵模板用. #include<cstdio> using namespace std; typedef long long LL; LL n=,m,q; LL Quick_ ...

  7. 【权值分块】bzoj3685 普通van Emde Boas树

    权值分块,虽然渐进复杂度不忍直视,但其极小的常数使得实际运行起来比平衡树快,大多数情况和递归版权值线段树差不多,有时甚至更快.但是被zkw线段树完虐. #include<cstdio> # ...

  8. menuStrip鼠标经过自动显示菜单

    //--------------------------------------------------------------------------------- private void For ...

  9. 2016年31款轻量高效的开源 JavaScript 插件和库

    目前有很多网站设计师和开发者喜欢使用由JavaScript开发的插件和库,但同时面临一个苦恼的问题:它们中的大多数实在是太累赘而且常常降低网站的性能.其实,其中也有不少轻量级的插件和库,它们不仅轻巧有 ...

  10. 直接拿来用!最火的iOS开源项目(三)

    相比Android,GitHub上的iOS开源项目更可谓是姹紫嫣红.尽管效果各异,但究其根源,却都是因为开发者本身对于某种效果的需求以及热爱.在“直接拿来用!最火的iOS开源项目”系列文章(一).(二 ...