// public readonly string ConnectionStringLocalTransaction = ConfigurationManager.ConnectionStrings["ConnOracleWithAddress"] == null ? "Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 180.166.173.214)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = dswms)));Persist Security Info=True;User ID=c##dswms;Password=c##dswms;" : ConfigurationManager.ConnectionStrings["ConnOracleWithAddress"].ConnectionString;//防止空引用异常 modify by gzw 181227 /// <summary> /// 数据库工厂构造函数 /// </summary> /// <param name="dbtype">数据库枚举</param> public DbFactory(DbFactoryType dbtype) { switch (dbtype) { case DbFactoryType.SQLSERVER: dbF = new SqlServerFactory { ConnStr = ConnectionStringLocalTransaction }; // 数据库连接字符 //SqlConnection connection = (SqlConnection)dbF.CreateConnection(); //SqlBulkCopy //connection.BulkCopy break; case DbFactoryType.ROACLE: dbF = new OracleFactory { ConnStr = ConnectionStringLocalTransaction }; break; case DbFactoryType.MYSQL: dbF = new MySqlFactory { ConnStr = ConnectionStringLocalTransaction }; MySqlConnection connection = (MySqlConnection)dbF.CreateConnection(); break; } }
// Return a singleton instance of a vendor specific db factory // Abstract factory design pattern. public static IDbFactory GetFactory(DbFactoryType factoryType) { switch (factoryType) { case DbFactoryType.SqlClient: { return(DbSingletonFactorySqlClient.Instance); } case DbFactoryType.Oracle: { return(DbSingletonFactoryOracle.Instance); } case DbFactoryType.Odbc: { return(DbSingletonFactoryOdbc.Instance); } case DbFactoryType.OleDb: { return(DbSingletonFactoryOleDb.Instance); } case DbFactoryType.MySql: { return(DbSingletonFactoryMySql.Instance); } } return(null); }