|
最初由 SARA1800 发布
[B]
ORACE不是兼容SQL,请您清楚一下,SQL是什么.它是一个标准,保证了我们能够实现异构数据库们,百家争鸣又互相配合.
至于CACHE,我也了解不多,如果兼容性太差,尤其是据说ORACLE中建好的数据模型,要转换的话,需要重建。我个人认为它还需要发展成熟。 [/B]
此处,"SQL"指"ISO的SQL标准",ISO最新发布的是SQL 2003。它包括很多方面:Framework、Foundation、Call-Level Interface、Persistent Stored Modules、Management of External Data、Object Language Bindings
事实上,还没有一家DB供应商提供了兼容该标准的数据库产品,Oracle也不例外。
你说的SQL只是指Foundation这块的,但Oracle等数据库也并不完全兼容这块,同时还会有自己的特殊扩展,即所谓的特殊SQL语法,例如其著名的Start with...Connect By。
所以,一般情况下,如果你使用标准的ISO SQL语法,从Oacle迁移到Cache'不需要任何手工工作,但如果你使用了这类特殊SQL语法,你需要适当的改写(任何数据库遇到这种情况都需要)。
但存储过程和触发器是需要一定量的改写的:大家都知道SQLServer使用TSQL、Oracle使用PL/SQL,语法不同,所以这类迁移一定涉及到改写(但这个改写不一定是人来改写,例如Cache'对于TSQL的语法就不需要人工改写)!
Cache'本身并不存在“兼容性”问题,因为Cache'只兼容ISO的SQL标准,只要你是符合标准的,Cache'就支持。
另外,"数据库相互间的配合"靠的是ODBC/JDBC等规范,没有它们,数据库光有SQL可没法配合啊! |
|