建一个配置文件呀.
里面放数据库的驱动字符串和连接字符串等等..然后程序里读这个配置文件.
然后class.forname(你的driver)
getConnection(url,user,password)

解决方案 »

  1.   

    我不是说的连接问题,而且每个数据库中他的SQL有些不一样,比如oracle和sql server中就有一些不一样的,怎样才能不改程序,而且让?所传的值又是正确的呢?
      

  2.   

    你这个问题确实有点难,我觉得可以这样解决。
    1、连接的字符串放在配置文件中,如果换了数据库,不需要重写连接的程序
    2、关于SQL的问题,我认为只能在写SQL语句的时候只使用标准的SQL语句,不要用数据库厂商自己提供的sql语句和方法,没有别的办法,只能采用标准的格式来写
      

  3.   

    恩,对第二个问题的处理应该是和楼上的方法一样既然数据库方面无法保证兼容,那只能用最基本的,两个都认的sql语句来实现了
      

  4.   

    请参考一下delphi7里了bold所使用的模式不过非常之复杂,自己写代码实现的工作量非常大
      

  5.   

    但有一些最基本的SQL語句都有差別呀。
    比如說我在postgres和mysql中有一條相同功能的語句,但他們的參數不一樣,能過?就沒法傳參數給sql呀。
    如:我要取user表中的1到10條記錄
    SELECT * FROM user LIMIT 1,10 (MYSQL)
    SELECT * FROM user LIMIT 10,1 (postgres)
    而在SQL SERVER和oracle中又各不相同,而且我又要將1和10兩個參數用?傳遞給SQL,
    我怎麼樣才能解決呢?
      

  6.   

    这个其实没有办法了,只能让用户自己按照所选择的数据库写相应的SQL语句了。。
      

  7.   

    不知道ejb合不合适呢,我觉得这个可能还行
      

  8.   

    EJB是可以解決,但我現在的情況是只能用javabean來做呀。
      

  9.   

    只用最基本的sql 语句
    你的limit就不是基本的.
    既然你要通用.就别找省事了...
      

  10.   

    看樣子只能將不同的數據庫做成不同的bean來進行操作了,工作量實在是太大了.
      

  11.   

    做一个switch语句,根据数据库的不同类型执行不同的语句。——可能比较麻烦