Esempio n. 1
0
        /// <summary>
        /// 摘要:根据驱动创建数据库核心实例。
        /// </summary>
        /// <param name="connectionString">数据库连接串</param>
        /// <param name="path">数据库驱动配置文件路径</param>
        /// <returns>返回DB实例对象,若返回值为null为不可识别的数据库类型。</returns>
        public static DBCoreBase CreateDBByProvider(string connectionString, string path)
        {
            DBCoreBase DB = null;

            if (connectionString == string.Empty)
            {
                return(DB);
            }
            string     provider = connectionString.Split(';')[0].Split('=')[1].ToString();
            string     DBName   = string.Empty;
            DBInstance DBi      = new DBInstance();

            DBi.TagData           = path;
            List <string[]> where = new List <string[]>();
            where.Add(new string[] { "Provider LIKE '%{0}%'", provider });
            DataTable dt = DBi.GetDataSet("SELECT * From DBType", where);

            if (dt.Rows.Count > 0)
            {
                DBName              = dt.Rows[0]["Name"].ToString();
                DB                  = (DBCoreBase)Assembly.Load("Service.Common").CreateInstance("Service.Common.DB." + DBName + "Core");
                DB.DBprovider       = provider;
                DB.ConnectionString = connectionString;
            }
            return(DB);
        }