/// <summary> /// 获取信息 /// </summary> /// <param name="dbtype"></param> /// <returns></returns> public static DriverDLL GetDriver(string dbtype) { DriverDLL driver = null; dicDBType.TryGetValue(dbtype, out driver); return(driver); }
/// <summary> /// 已 /// </summary> private static void Init() { //oralce lock (lock_obj) { //Oracle DriverDLL driverDLL = new DriverDLL(); driverDLL.DriverDLLName = "Oracle.ManagedDataAccess"; driverDLL.DBType = "Oracle"; dicDBType[driverDLL.DBType] = driverDLL; //MySql driverDLL = new DriverDLL(); driverDLL.DriverDLLName = "MySql.Data"; driverDLL.DBType = "MySql"; dicDBType[driverDLL.DBType] = driverDLL; //SQLServer driverDLL = new DriverDLL(); driverDLL.DriverDLLName = "System.Data"; driverDLL.DBType = "SqlServer"; dicDBType[driverDLL.DBType] = driverDLL; //PostgreSQL driverDLL = new DriverDLL(); driverDLL.DriverDLLName = "Npgsql"; driverDLL.DBType = "PostgreSQL"; dicDBType[driverDLL.DBType] = driverDLL; } }
/// <summary> /// 加载数据库信息 /// 读取数据库类型的DLL文件 /// </summary> /// <param name="dbXml"></param> public static void LoadXml(string dbXml) { // if (!isInit) { Init(); isInit = true; } //2019-04-06 if (!File.Exists(dbXml)) { Logger.Singleton.Warn("没有全局配置XML文件," + dbXml); return; } if (!lstDBType.Contains(dbXml)) { //没有加载过的全局文件才加载 XmlDocument doc = new XmlDocument(); doc.Load(dbXml); foreach (XmlNode child in doc.DocumentElement.ChildNodes) { XmlNode dll = child.SelectSingleNode("DriverDLL"); // XmlNode cls = child.SelectSingleNode("DriverClass"); DriverDLL driver = new DriverDLL(); driver.DBType = child.Name; driver.DriverDLLName = dll == null ? "" : dll.OuterXml; dicDBType[driver.DBType] = driver; } lstDBType.Add(dbXml); } }
/// <summary> /// 加载数据库信息 /// 读取数据库类型的DLL文件 /// </summary> /// <param name="dbXml"></param> public static void LoadXml(string dbXml) { // Init(); XmlDocument doc = new XmlDocument(); doc.Load(dbXml); foreach (XmlNode child in doc.DocumentElement.ChildNodes) { XmlNode dll = child.SelectSingleNode("DriverDLL"); XmlNode cls = child.SelectSingleNode("DriverClass"); DriverDLL driver = new DriverDLL(); driver.DBType = child.Name; driver.DriverDLLName = dll == null ? "" : dll.OuterXml; dicDBType[driver.DBType] = driver; } }