Atitit.跨语言数据库db api兼容性 jdbc odbc ado oledb 增强方案
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.JdbcPackage java.sqlJdbc 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)。
作者::绰号:老哇的爪子(全名::AttilaxAkbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )汉字名:艾龙,EMAIL:1466519819@qq.com
转载请注明来源:http://blog.csdn.net/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.JdbcPackage java.sqlJdbc api数量 约60个类..java.sql包下面的。。
Provides the API for accessing and processing data stored in a data source (usually a relational database) using the JavaTMprogramming language.
See:Description
·
Interface Summary |
|
Interface |
Description |
Array |
The mapping in the Java programming language for the SQL typeARRAY. |
Blob |
The representation (mapping) in the Java™ programming language of an SQLBLOBvalue. |
CallableStatement |
The interface used to execute SQL stored procedures. |
Clob |
The mapping in the Java™ programming language for the SQLCLOBtype. |
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 aDriver wants to be notified by DriverManager. |
NClob |
The mapping in the Java™ programming language for the SQLNCLOBtype. |
ParameterMetaData |
An object that can be used to get information about the types and properties for each parameter marker in aPreparedStatementobject. |
PreparedStatement |
An object that represents a precompiled SQL statement. |
Ref |
The mapping in the Java programming language of an SQLREFvalue, 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 aResultSetobject. |
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 theConnection.rollbackmethod. |
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 SQLDATEvalue. |
DriverManager |
The basic service for managing a set of JDBC drivers. NOTE:TheDataSource 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 theSecurityManagerwill check when code that is running an application with aSecurityManagerenabled, calls theDriverManager.deregisterDrivermethod,DriverManager.setLogWritermethod,DriverManager.setLogStream(deprecated) method,SyncFactory.setJNDIContextmethod,SyncFactory.setLoggermethod,Connection.setNetworktimeoutmethod, or theConnection.abortmethod. |
Time |
A thin wrapper around thejava.util.Dateclass that allows the JDBC API to identify this as an SQLTIMEvalue. |
Timestamp |
A thin wrapper aroundjava.util.Datethat allows the JDBC API to identify this as an SQLTIMESTAMPvalue. |
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 toConnection.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 ofSQLException thrown when an error occurs during a batch update operation. |
DataTruncation |
An exception thrown as aDataTruncationexception (on writes) or reported as aDataTruncationwarning (on reads) when a data values is unexpectedly truncated for reasons other than its having exceededMaxFieldSize. |
SQLClientInfoException |
The subclass ofSQLException is thrown when one or more client info properties could not be set on a Connection. |
SQLDataException |
The subclass ofSQLException 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 ofSQLException thrown when the SQLState class value is '0A' ( the value is 'zero' A). |
SQLIntegrityConstraintViolationException |
The subclass ofSQLException thrown when the SQLState class value is '23', or under vendor-specified conditions. |
SQLInvalidAuthorizationSpecException |
The subclass ofSQLException thrown when the SQLState class value is '28', or under vendor-specified conditions. |
SQLNonTransientConnectionException |
The subclass ofSQLException thrown for the SQLState class value '08', or under vendor-specified conditions. |
SQLNonTransientException |
The subclass ofSQLException thrown when an instance where a retry of the same operation would fail unless the cause of the SQLExceptionis corrected. |
SQLRecoverableException |
The subclass ofSQLException 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 ofSQLException thrown when the SQLState class value is '42', or under vendor-specified conditions. |
SQLTimeoutException |
The subclass ofSQLException thrown when the timeout specified by Statement.setQueryTimeout,DriverManager.setLoginTimeout,DataSource.setLoginTimeout,XADataSource.setLoginTimeouthas expired. |
SQLTransactionRollbackException |
The subclass ofSQLException thrown when the SQLState class value is '40', or under vendor-specified conditions. |
SQLTransientConnectionException |
The subclass ofSQLException for the SQLState class value '08', or under vendor-specified conditions. |
SQLTransientException |
The subclass ofSQLException 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 增强方案相关推荐
- 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.跨语言 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.跨语言执行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. 反射提供的主要功能:2 1.2. 实现反射的过程:2 ...
- Atitit.跨语言异常转换机制 java c# php到js的异常转换
Atitit.跨语言异常转换机制 java c# php到js的异常转换 1. bizEx 直接抓取,然后js catchEX1 2. Chkec runtimeEx1 3. Other异常..J ...
- 【学习笔记】JDBC:java提供的专门操纵数据库的API JDBC驱动程序的类型 JDBC常用的类与接口
JDBC技术 JDBC的全称是Java DataBase Connectivity,是一套面向对象的应用程序接口,指定了统一的访问各种关系型数据库的标准接口,JDBC是一种底层的API,因此访问数据库 ...
- Atitit.提升api兼容性的方法 v3 q326
Atitit.提升api兼容性的方法 v3 q326 1. Atitit.兼容性的"一加三"策略1 2. 2. 扩展表模式1 3. 3. 同时运行模式1 3.1. 3.1. 完美的 ...
- 跨语言调用Hangfire定时作业服务
背景 Hangfire允许您以非常简单但可靠的方式执行后台定时任务的工作.内置对任务的可视化操作.非常方便. 但令人遗憾的是普遍都是业务代码和hagnfire服务本身聚合在一个程序中运行,极大的限制了 ...
- 数据库编程——intro to JDBC
[0]README 1) 本文文字描述 转自 core java volume 2 , 旨在理解 数据库编程--JDBC 的基础知识 : 2)JDBC起源: 96年, Sun公司发布了 第一版的jav ...
- Atitit.java swing打印功能 api attilax总结
Atitit.java swing打印功能 api attilax总结 1. 打印方式有三种:2 1.1. 一是不经过任何修改,直接调用javascript中的window.print()打印.2 ...
最新文章
- TensorRT Samples: MNIST(serialize TensorRT model)
- php 命令执行crud_如何使用原始JavaScript执行CRUD操作
- Cookie和会话状态 (转)
- Loadrunner在post请求的cookie中插入其它多个值
- 行式填报表轻松搞定流水号
- linux下的c语言控制灯闪烁,C语言实现LED灯闪烁控制
- LeetCode 532. 数组中的K-diff数对
- 浅淡 RxJS WebSocket
- (73)Verilog HDL系统函数和任务:$monitor
- react-router-dom v4
- springboot统一异常处理及返回数据的处理
- Cadence元件库介绍
- 标签条码打印机开发大纲
- 51单片机--蜂鸣器
- 双十一数码产品选什么好?双十一数码好物推荐
- 服务器IP被封的原因
- linux cpu 时间,【Linux】CPU时间与处理器耗时
- 调用API接口 获取和解析 京东按关键字搜索商品数据
- 也许风停了,我们才能心平气和的看待一家公司
- Spring声明式事务管理的配置详解
热门文章
- jar打包 剔除第三方依赖以及它的依赖_spring boot + gradle 打包 bootJar 瘦身分离 lib...
- jQuery匹配各种条件的选择器用法
- Gradle 4.8.1基本配置
- windows 下 nginx 的反向代理学习整理
- IT小天博客APP版本
- 微信“小程序 未完, 数据的小程序 又来了
- Windows基本磁盘结构简析(二)——MBR结构分析
- 猫癣病毒躲猫猫移师广东东莞月入百万作者
- 将本地的代码提交到github仓库
- Python爬取javascript(js)动态网页