Пример #1
0
        /// <summary>
        /// 获取指定的实时数据库的连接方法
        /// </summary>
        /// <param name="dataBaseType">实时数据库类型</param>
        /// <param name="connectionString">实时数据库连接串</param>
        /// <returns>实时数据库访问类</returns>
        public static IRTDbHelper GetHelper(CurrentRTDbType rtdbType = CurrentRTDbType.Golden, string connectionString = null)
        {
            // 这里是每次都获取新的数据库连接,否则会有并发访问的问题存在
            string rtdbHelperClass = SupportRTDbType.GetRTDbHelperClass(rtdbType);  //根据数据库类型获得数据库接口类型的名字

            IRTDbHelper rtdbHelper = (IRTDbHelper)Assembly.Load(BaseRTDbInfo.DBInterfaceAssmely).CreateInstance(rtdbHelperClass, true);

            //如果用反射的方法创建实例时出错,一定是dll文件名称BaseRTDbInfo.DBInterfaceAssmely不正确,或者命名空间+类名称rtdbHelperClass不正确
            //要重点检查BaseRTDbInfo.DBInterfaceAssmely和SupportRTDbType.GetRTDbHelperClass里面的的内容。
            //也就是检查dll文件名是否正确,每一个数据库连接类对应的命名空间+类名称是否正确。
            //在一个调试好的程序里,这里的创建过程是不会出错的,因此无需用try。
            if (!string.IsNullOrEmpty(connectionString))
            {
                rtdbHelper.ConnectionString = connectionString;
            }
            return(rtdbHelper);
        }
Пример #2
0
 /// <summary> 构造函数
 /// 构造函数,在创建实例时,从指定的实时数据库连接对象工厂中创建一个实例,并返回给rtdbHelper
 /// </summary>
 public RTDbHelper()
 {
     rtdbHelper = RTDbHelperFactory.GetHelper(RTDbType, RTDbConnection);
 }