Пример #1
0
        /// <summary>
        /// 根据数据库提供者和连接字符串创建数据库对象
        /// </summary>
        /// <param name="connectionString">数据库连接字符串</param>
        /// <param name="dbProvider">数据库提供者</param>
        /// <exception cref="DatabaseNotSupportedException">指定数据库不被支持</exception>
        /// <returns>数据库对象</returns>
        public static AbstractDatabase CreateDatabase(DbProviderFactory dbProvider, String connectionString)
        {
            DatabaseType dbType = DatabaseTypeHelper.InternalGetDatabaseType(dbProvider, connectionString);

            switch (dbType)
            {
            case DatabaseType.Access:
                return(new AccessDatabase(dbProvider, connectionString));

            case DatabaseType.MySQL:
                return(new MySQLDatabase(dbProvider, connectionString));

            case DatabaseType.Oracle:
                return(new OracleDatabase(dbProvider, connectionString));

            case DatabaseType.SQLite:
                return(new SQLiteDatabase(dbProvider, connectionString));

            case DatabaseType.SqlServer:
                return(new SqlServerDatabase(dbProvider, connectionString));

            case DatabaseType.SqlServerCe:
                return(new SqlServerCeDatabase(dbProvider, connectionString));

            default:
                throw new DatabaseNotSupportedException("This database is not supported!");
            }
        }
Пример #2
0
        /// <summary>
        /// 初始化数据库类
        /// </summary>
        /// <param name="connectionString">数据库连接字符串</param>
        /// <param name="dbProvider">数据库提供者</param>
        internal Database(String connectionString, DbProviderFactory dbProvider)
        {
            this._connectionString = connectionString;
            this._dbProvider       = dbProvider;
            this._dbtype           = DatabaseTypeHelper.InternalGetDatabaseType(this._connectionString, this._dbProvider);

            if (this._dbtype == DatabaseType.Unknown)
            {
                throw new DatabaseNotSupportException("This database is not supported!");
            }
        }