我用的C#.net编的web程序,以前连接的是SQL数据库,现在我需要连接两种形式的数据库,SQL数据库或Oracle数据库,要求当web程序运行时首先要判断连的是哪种数据库,是SQL数据库则按SQL数据库的形式向下运行,是Oracle数据库则以Oracle数据库的形式向下运行,Oracle数据库小妹初学,对一些问题还不理解,所以在这里请教各位ggjj们,帮我解决这个问题,我该在哪个地方进行判断,如何来判断呢?谢谢各位了!

解决方案 »

  1.   

    try {
         它出错就 转到 第二个连接,就可以了 ,最简单 就是这样
    }
      

  2.   

    就这么简单吗,我可真是够笨的,呵呵,别人曾推荐我用取当前系统时间来判断liangfang(良芳&不见亦钟情),像你刚说的,那在try用什么来判断啊?
      

  3.   

    如果你是适时的检测 那个数据连接 可用那么 用上面的方面
    捕获 conn连接 错误...
    如果是 安装配制 来设置可以参考petshop
    的factory模式
      

  4.   

    short dbType = 0;
    try(sqlConnection.open())
    {
         //标示为sql sever
         dbType = 1;
    }
    catch(SqlException ex){
         dbtype = 0;
    }try(oracleConnection.open())
    {
       // 标示为oracle
       dbType = 2;
    }
    catch(OracleException ex)
    {
       dbType = 0;
    }
    ....
      

  5.   

    可模仿类似以下代码实现:如果要写个较完备的工厂类,可以先看看设计模式:
    public static IDbConnection GetConnection()
    {
    IDbConnection connection=null;
    switch(DbType)
    {
    case MySql:
    connection=new MySqlConnection(ConnectionString);
    break;
    case Oracle:
    connection=new OracleConnection(ConnectionString);
    break;
    case SqlServer:
    connection=new SqlConnection(ConnectionString);
    break;
    }
    if(connection.State!=ConnectionState.Open)
    {
    connection.Open();
    }
    return connection;
    }