专业的ODBC ORACLE SQL SERVER
ODBC 能否提供一些通用的SQL语名和函数来操作各个不同的数据库
即写一个SQL语句通过ODBC不更改就可操作不同的数据库
如果ODBC不行,还有什么技术和解决方案???
问题点数:30、回复次数:14Top
1 楼yangzi(笨笨)回复于 2001-01-13 13:41:00 得分 10
呵呵,自己做一个翻译器吧。Top
2 楼bugn(unknown& whoami)回复于 2001-01-13 13:51:00 得分 0
用存储过程包装一下Top
3 楼yangzi(笨笨)回复于 2001-01-13 14:19:00 得分 0
bugn:
不行吧。比如 我在sql server里用下面的语句:select top 10 from table.
但在oracle里是select * from table where rowID<10 (?)
我如何写存储过程?Top
4 楼yangzi(笨笨)回复于 2001-01-13 14:19:00 得分 0
sorry ,写错了:select top 10 from table.
应为:select top 10 * from table.
Top
5 楼xmlingo(xmlingo)回复于 2001-01-13 15:31:00 得分 0
难道这个总题就没法解决了吗?
你们肯定会碰到这个问题:
做一个软件,数据源不捆绑(我最讨厌捆绑)
哪你总不能为一个SQL语句写不版本
ORACLE
SQL SERVER
INFORMIX
SYBASE SQL
DB2
ACCESS
INTERBASE
FOXPRO
INTGES
。。。。。。。。。。。。
天哪!ODBC用来干什么的,也没有这种商用软件
TMDTop
6 楼bugn(unknown& whoami)回复于 2001-01-13 20:53:00 得分 10
是要写不同版本的,你看MS的很多例子都要分别为sqlsrvr和oracle分别写存储过程的.Top
7 楼wenzm(魔术师)回复于 2001-01-13 21:39:00 得分 0
ODBC 用来干什么?他不是封装了各种不同数据库的驱动程序吗?不可能不同的数据库有通用的语法(句)Top
8 楼xmlingo(xmlingo)回复于 2001-01-14 22:26:00 得分 0
通过查看SQL92标准及ODBC开发文档,获知
ODBC在一定程序度上可以提供DATABASE GATEWAY功能
条件是数据源支持SQL92标准,
例如以下语句:
SELECT * FROM TABLES;在ODBC数据源中都可以应用
另外,ODBC 提供一定其它一些特性支持
例如:
{ts '2001-01-24'} 是对时间的支持
{fn UCASE('test')} 是对一些基础函数的支持
{oj LEFT JOIN } 是对表关联的支持
UPDATE a SET b='c''' 是对字符串内含‘(引号的支持)
等等,
以上的一些例子,可以说明ODBC己提供了一般的通用SQL语句,
一般的应用都可以达到而一些特殊的应用应放在DBA那一边用或只能作特殊处理
现在我的问题是:
1。在ODBC中 字符串相加 SQL SERVER数据库用+ 而 ORACLE用的是 ||
如果不用函数,有没有其它通用的操作符
2。在ODBC提供可转化的函数中不提供IF函数(ORACLE 是 DECODE函数),不知新版本的
ODBC是否有提供,或通过其它方式可以解决(ODBC 倒是提供IFNULL函数)
请大家帮忙,一起提高
Top
9 楼xmlingo(xmlingo)回复于 2001-01-15 09:08:00 得分 0
ODBC的最高版本是多少????Top
10 楼bugn(unknown& whoami)回复于 2001-01-15 15:44:00 得分 0
www.microsoft.com/data/Top
11 楼yangzi(笨笨)回复于 2001-01-15 17:38:00 得分 0
看SQL 92的白皮书吧。
那上面的通用。
Top
12 楼yangzi(笨笨)回复于 2001-01-15 17:41:00 得分 0
世界上没有万能的驱动程序。 除非你彻底放弃性能。Top
13 楼bugn(unknown& whoami)回复于 2001-01-16 04:16:00 得分 0
xmlingo:
你的程序应用范围太广了吧,一般情况下就考虑1中桌面DB和2到3种RDB, 桌面DB的还要单独开发的。用存储过程时oracle一般的问题就是没result set, 但可以模拟的。Top
14 楼sbm(▁▂▃▄▅▇█)回复于 2001-01-16 09:25:00 得分 10
写标准的SQL语句。那TOP 10是微软的东西。Top




