准备做一系统,后台数据库系统准备在SQL Server2000上做,但以后可能还会用Oracle,要求将来客户端程序不做修改(或只做少量修改),请高手解答:选用哪些数据类型是两者者兼容的,另外两种数据库系统对空值是如何处理的(检测和插入空值)?另外还有哪些好的建议?

解决方案 »

  1.   

    1: ORACLE不能直接使用自增列,所以在生成流水号的时候要注意,最好使用定长的CHAR行
    2: SQL Server的varchar <=>Oracle  中的 Varchar2
    ....其实数据库的设计上差别应该不会很大,主要是PL/SQL和T-SQL有些差别,在编程上还是要注意的做成3层架构,,将数据库的操作封装在中间层,可以针对不同的数据库生成不同的组件
    将组件接口按同样的规范设计客户端不会随数据库的变更而变动------------------------------
    www.FaceSun.cn
      

  2.   

    babyt(阿泰)的说法很好,我也正在做该方面的学习呢!
      

  3.   

    这种情况建议还是做一中间件,用来转换两种数据库的数据,另外对于一些灵活的东西最好也做做成动态的,比如:SQL Server中的IsNull("条件")函数,在Oracle中就应变为is null "条件",个人认为像这样的函数,使用以参数的方式来进行处理比较好个人观点,仅供参考