我一个项目里要连接SQLserver和ORACLE两个数据库, 
封装类里面用的是using System.Data.OleDb;  (本人用的是C#)
想那操作这两个数据库的类封装在一起, 如何做呢?  有没哪位有写好了的?

解决方案 »

  1.   

    用工厂模式来写您的数据库连接类就可以了.
    或者不懂的,可以直接在类里面根据CONNECTSTRING来区分吧,IF ELSE解决........不过调用结果集的存储过程会有所区别.
      

  2.   

    用工厂模式,参考下
    --DbService.cs
    using System; 
    using System.Configuration; namespace DbService 

    /// <summary> 
    /// Factory类 
    /// </summary> 
    public sealed class DbFactory 

    private static volatile DbFactory singleFactory = null; 
    private static object syncObj = new object(); 
    /// <summary> 
    /// Factory类构造函数 
    /// </summary> 
    private DbFactory() 

    }  /// <summary> 
    /// 获得Factory类的实例 
    /// </summary> 
    /// <returns>Factory类实例</returns> 
    public static DbFactory GetInstance() 

    if(singleFactory == null) 

    lock(syncObj) 

    if(singleFactory == null) 

    singleFactory = new DbFactory(); 



    return singleFactory; 
    }  /// <summary> 
    /// 建立Factory类实例 
    /// </summary> 
    /// <returns>Factory类实例</returns> 
    public AbstractDbFactory CreateInstance() 

    AbstractDbFactory abstractDbFactory = null; 

    switch(ConfigurationSettings.AppSettings["DatabaseType"].ToLower()) 

    case "sqlserver": 

    abstractDbFactory = new SqlFactory(); 
    break; 

    case "oracle":
    {
    abstractDbFactory = new OracleFactory();
    break;
    }
    }   
    return abstractDbFactory; 


      

  3.   

    建两个不同的连接呀。如果是java就是两个不同的datasource
      

  4.   

    两个数据源。工厂模式也好,Adapter模式也好,代码都可以实现要求。