大概是这样的:
一个数据库管理系统,运行时可能接收到一些数据库连接信息,包括IP,端口,库名,用户名和密码。这时候程序需要连接到这个数据库上查询一些东西。主要的一点是,收到的这些数据库类型是不一样的,可能有oracle,db2, informix, Sybase,MySql,MS SQL Server。现在就有一个问题,我需要一个统一的数据库访问接口, 开始考虑用ODBC来做,但是有几点不明白,请高手解答1.如果用odbc来做,在我的平台上,是不是需要安装这些数据库的客户端。请说明哪些要,哪些不要。2.ODBC对数据库的配置,到写在配置文件里,因为我的数据库信息是程序中动态获得的,ODBC能不能抛开odbc.ini和odbcinst.ini这两个配置文件3.有没有比ODBC更好,更简单的实现方法,比如不用安装客户端,又能统一访问各种数据库。4.如果我什么都不用,为每种数据库单独封一套访问接口出来,这样用不用安装数据库的客户端。真的希望哪位数据库方面的专家帮忙解答这些问题,如果方便的话加我QQ好方便向你讨教。65515000
一个数据库管理系统,运行时可能接收到一些数据库连接信息,包括IP,端口,库名,用户名和密码。这时候程序需要连接到这个数据库上查询一些东西。主要的一点是,收到的这些数据库类型是不一样的,可能有oracle,db2, informix, Sybase,MySql,MS SQL Server。现在就有一个问题,我需要一个统一的数据库访问接口, 开始考虑用ODBC来做,但是有几点不明白,请高手解答1.如果用odbc来做,在我的平台上,是不是需要安装这些数据库的客户端。请说明哪些要,哪些不要。2.ODBC对数据库的配置,到写在配置文件里,因为我的数据库信息是程序中动态获得的,ODBC能不能抛开odbc.ini和odbcinst.ini这两个配置文件3.有没有比ODBC更好,更简单的实现方法,比如不用安装客户端,又能统一访问各种数据库。4.如果我什么都不用,为每种数据库单独封一套访问接口出来,这样用不用安装数据库的客户端。真的希望哪位数据库方面的专家帮忙解答这些问题,如果方便的话加我QQ好方便向你讨教。65515000
解决方案 »
- ORA-00600: internal error code, arguments: [KGHALP1], [0x0], [], [], [], [], [], []错误
- oracle10g客户端与软件打包的问题?
- 询问一条sum查询相关查询语句,急
- Oracle8i的存储过程定義問題EMP.DEPTNO%TYPE;
- oracle 数据的转换?
- oracle 插入数据的问题
- 一个凑数的触发器
- 问个简单问题,怎么删除tablespace
- 紧急求助,在P4服务器上安装Oracle居然出现……
- 在oracle存储过程中返回多个多个count()结果
- 这个plsql语句块什么错?
- 请教oracle 月查询存储过程
1,对于ODBC连接方式,需要有相应数据库的驱动,应该都可以在网上下载,如果机器上装有客户端则会自动有相应的驱动,至于哪些需要我知道oracle需要,sql server 肯定是不需要了,其它数据库不太了解。
2,google 动态配置ODBC
3,按照楼主的思路就需要找第三方插件了,但兼容这么多数据库的好像不是太多,我用过OTL(C++),它连接Oracle是通过Oracle通过的oci相连接,但对MS之类的数据好像也是通过ODBC相连
4,我了解的数据库客户端都不是必须的,只需要有驱动就可以了,用工厂模式也挺好
2. 据我所知,odbc.ini和odbcinst.ini大多情况是要使用的,这跟具体的odbc实现是否支持SQLDriverconnect函数有关。如果完全支持,则不用。但是你不能保证所有的DBMS都支持。
3. JDBC?
4. 你自行封装,更需要对应数据库的客户端了。
1:驱动,性能
2:每种语言都有自己扩充的东西,ORACLE有PL/SQL,SQL SERVER有T-SQL ,如此强大的扩充不可能大家都不用而去用标准SQL,
3:数据类型,
4:其它的就不说了,什么索引啊。数据库大了,索引对于性能的优化是不言而喻的。。