如果想使应用程序能够支持多种应用系统,则最好采用系统ODBC的连接方式,这样数据源与数据库无关,使用起来比较灵活,更改数据库时只需要更改ODBC配置即可
但要求数据设计时尽时使用通用的方法,不要依赖于某种数据库,另外SQL语句各个厂商的支持程度也不同的,应该特别注意

解决方案 »

  1.   

    使用ODBC可以简化更改数据配置的工作,不过,由于不同数据库对SQL语句支持的不同,代码肯定是不同的;同时为了提高效率,常常需要利用数据库系统本身的功能。比如触发器、存储过程等。在使用这些的前提下,如何尽量的简化代码编写的工作呢?毕竟出几个不同版本使得维护工作变得非常复杂:(
      

  2.   

    应用程序可以基本不变,但数据库肯定要做多个不同版本,因为每种数据库的语法都有差异。
    应用程序中多使用存储过程或函数,不要用那些比较特别的数据库专用函数,如:oracle中的decode, Sql server中的Cast/Convert等,这些函数考虑用存储函数来实现。
      

  3.   

    我弄几个全局变量,记录使用的数据库系统名称及版本
    在应用程序中使用SQL语句或存储过程的时候,首先判断数据库系统及版本,然后调用不同的SQL语句,执行之这样可行么?
      

  4.   

    楼主用全局变量记载信息的办法肯定可行,不过感觉太麻烦了一点,在应用程序中所有的SQL语句都要写过一次,还不如针对每种数据库单独编写一整套的。
      

  5.   

    写整套的也不会简单吧?
    如果一个算法修改,改完了这个版本还要去改另一版本,还得找相关的部分;全部变量的话,所有版本的sql语句都在一块儿