private DataCfg(string suffix) { string linkType = WRSetting.Set().getSettings(Const.LinkType + suffix); if ("1".Equals(linkType)) { dlt = DataLinkType.dltODBC; } else if ("2".Equals(linkType)) { dlt = DataLinkType.dltSocket; } else if ("3".Equals(linkType)) { dlt = DataLinkType.dltWeb; } else { dlt = DataLinkType.dltNone; } switch (dlt) { case DataLinkType.dltODBC: string dbtype = WRSetting.Set().getSettings(Const.ODBC + suffix + "/" + Const.DBType).ToLower(); string ip = WRSetting.Set().getSettings(Const.ODBC + suffix + "/" + Const.DBIP); string port = WRSetting.Set().getSettings(Const.ODBC + suffix + "/" + Const.DBPort); string dbase = WRSetting.Set().getSettings(Const.ODBC + suffix + "/" + Const.DBase); string user = WRSetting.Set().getSettings(Const.ODBC + suffix + "/" + Const.DBUserName); string password = WRSetting.Set().getSettings(Const.ODBC + suffix + "/" + Const.DBUserPass); string ver = WRSetting.Set().getSettings(Const.ODBC + suffix + "/" + Const.DBVer); string dbfile = WRSetting.Set().getSettings(Const.ODBC + suffix + "/" + Const.DBFile).ToLower(); password = CryptUtil.DecryptDES(password); //密码采用DES加密算法存储在配置文件中,所以此处应该解密 if (Const.oracle.Equals(dbtype)) { dbt = DataBaseType.dbtOracle; } else if (Const.mssql.Equals(dbtype)) { dbt = DataBaseType.dbtMSSQL; } else if (Const.mysql.Equals(dbtype)) { dbt = DataBaseType.dbtMySQL; } else if (Const.access.Equals(dbtype)) { dbt = DataBaseType.dbtAccess; } else if (Const.sqlite.Equals(dbtype)) { dbt = DataBaseType.dbtSQLite; } else if (Const.dbase.Equals(dbtype)) { dbt = DataBaseType.dbtDBase; } else { dbt = DataBaseType.dbtNone; } dbService = new DataODBCService(); switch (dbt) { case DataBaseType.dbtOracle: (dbService as DataODBCService).db = new Oracle(ip, port, dbase, user, password, ver); break; case DataBaseType.dbtMSSQL: (dbService as DataODBCService).db = new SqlServer(ip, port, dbase, user, password, ver); break; case DataBaseType.dbtMySQL: (dbService as DataODBCService).db = new MySql(ip, port, dbase, user, password, ver); break; case DataBaseType.dbtAccess: (dbService as DataODBCService).db = new Access(dbfile, password); break; case DataBaseType.dbtSQLite: (dbService as DataODBCService).db = new SQLite(dbfile, password); break; case DataBaseType.dbtDBase: (dbService as DataODBCService).db = new DBase(dbfile, password); break; default: throw new Exception("没有设置数据库类型!"); } break; case DataLinkType.dltSocket: string socketIP = WRSetting.Set().getSettings(Const.Socket + suffix + "/" + Const.SocketIP).ToLower(); string socketPort = WRSetting.Set().getSettings(Const.Socket + suffix + "/" + Const.SocketPort).ToLower(); string socketServer = WRSetting.Set().getSettings(Const.Socket + suffix + "/" + Const.SocketServer).ToLower(); break; case DataLinkType.dltWeb: string url = WRSetting.Set().getSettings(Const.WebService + suffix + "/" + Const.WSURL).ToLower(); break; default: throw new Exception("没有设置连接数据库方式!"); } }