尽量使用标准SQL语句。比如SQL 92标准。好一点的数据库系统都首先支持标准的,然后才是扩充的。

解决方案 »

  1.   

    是不是应该创建不同的类
    然后根据配置文件用Factory创建相对数据库的类啊
      

  2.   

    请参考J2EE模式中的DAO模式
    里面用到了抽象工厂来实现。
      

  3.   

    抽象多一层,把数据库的不同封装起来,或者选用成熟的ORM方案
      

  4.   

    这个我做过:写个资源库,把数据库的差异封装在里面.
    入口可以是数据库名,版本等.
    对不同的数据库拿到不同的资源内容.
    使用时用它"过滤"一下就可以了.包括:DB2, SQLServer, Informix, MySQL, Sybase, Oracel, ODBC DS, HSQL etc.
          及不同版本,不同Driver Version的差异。
      

  5.   

    to rower203:
    很多差异只能制取接口来实现了。
    碰到复杂的SQL语句,最好是单独实现(从效率上来讲)
    有一种比较理想化的方法,做一个SQL解析,让用户完全采用标准SQL,然后做一个SQL到各数据库的映射。
      

  6.   

    to rower203:
    资源库指什么,是配置文件吗
    如果sql语句要动态生成呢?
    如根据提交的数据,生成更新语句
      

  7.   

    当然是用Hibernate罗(HQL或者还有另一种.叫C*****----忘了)~~~~轻松解决~~~~等分,HOHO