/// <summary>
 /// Initializes a new instance of the <see cref="DatabaseReader"/> class from a DbConnection.
 /// </summary>
 /// <param name="connection">The connection.</param>
 public DatabaseReader(System.Data.Common.DbConnection connection)
 {
     var name = connection.GetType().Namespace;
     _db = new DatabaseSchema(connection.ConnectionString, name);
     _schemaParameters = new SchemaParameters(connection) {DatabaseSchema = _db};
     _readerAdapter = ReaderAdapterFactory.Create(_schemaParameters);
 }
 private DatabaseReader(string name, string connectionString, SchemaParameters schemaParameters)
 {
     _db = new DatabaseSchema(connectionString, name);
     _schemaParameters = schemaParameters;
     _schemaParameters.DatabaseSchema = _db;
     _readerAdapter = ReaderAdapterFactory.Create(_schemaParameters);
 }
 public DbProviderReaderAdapter(SchemaParameters schemaParameters)
     : base(schemaParameters)
 {
     _schemaReader                = SchemaReaderFactory.Create(schemaParameters.ConnectionString, schemaParameters.ProviderName);
     _schemaReader.Owner          = schemaParameters.Owner;
     _schemaReader.CommandTimeout = CommandTimeout;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DatabaseReader"/> class for one of the standard providers.
 /// </summary>
 /// <param name="connectionString">The connection string.</param>
 /// <param name="sqlType">Type of the SQL.</param>
 public DatabaseReader(string connectionString, SqlType sqlType)
 {
     if (connectionString == null) throw new ArgumentNullException("connectionString");
     _schemaParameters = new SchemaParameters(connectionString, sqlType);
     _readerAdapter = ReaderAdapterFactory.Create(_schemaParameters);
     //_schemaReader = SchemaReaderFactory.Create(connectionString, sqlType);
     _db = new DatabaseSchema(connectionString, _schemaParameters.ProviderName);
     _schemaParameters.DatabaseSchema = _db;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="DatabaseReader"/> class from a DbConnection.
        /// </summary>
        /// <param name="connection">The connection.</param>
        public DatabaseReader(System.Data.Common.DbConnection connection)
        {
            var name = connection.GetType().Namespace;

            _db = new DatabaseSchema(connection.ConnectionString, name);
            _schemaParameters = new SchemaParameters(connection)
            {
                DatabaseSchema = _db
            };
            _readerAdapter = ReaderAdapterFactory.Create(_schemaParameters);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="DatabaseReader"/> class for one of the standard providers.
 /// </summary>
 /// <param name="connectionString">The connection string.</param>
 /// <param name="sqlType">Type of the SQL.</param>
 public DatabaseReader(string connectionString, SqlType sqlType)
 {
     if (connectionString == null)
     {
         throw new ArgumentNullException("connectionString");
     }
     _schemaParameters = new SchemaParameters(connectionString, sqlType);
     _readerAdapter    = ReaderAdapterFactory.Create(_schemaParameters);
     //_schemaReader = SchemaReaderFactory.Create(connectionString, sqlType);
     _db = new DatabaseSchema(connectionString, _schemaParameters.ProviderName);
     _schemaParameters.DatabaseSchema = _db;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="DatabaseReader"/> class for one of the standard providers.
        /// </summary>
        /// <param name="connectionString">The connection string.</param>
        /// <param name="sqlType">Type of the SQL.</param>
        /// <param name="additionalParameters"></param>
        public DatabaseReader(string connectionString, SqlType sqlType, int commandTimeout, IAdditionalProperties additionalParameters = null)
        {
            if (connectionString == null)
            {
                throw new ArgumentNullException("connectionString");
            }
            _schemaParameters = new SchemaParameters(connectionString, sqlType);
            _readerAdapter    = ReaderAdapterFactory.Create(_schemaParameters, commandTimeout);
            _readerAdapter.AdditionalParameters = additionalParameters;

            //_schemaReader = SchemaReaderFactory.Create(connectionString, sqlType);
            _db = new DatabaseSchema(connectionString, _schemaParameters.ProviderName);
            _schemaParameters.DatabaseSchema = _db;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="DatabaseReader"/> class using an existing <see cref="DatabaseSchema"/>.
        /// </summary>
        /// <param name="databaseSchema">The database schema. Can be a subclassed version.</param>
        public DatabaseReader(DatabaseSchema databaseSchema)
        {
            if (databaseSchema == null)
            {
                throw new ArgumentNullException("databaseSchema");
            }
            if (databaseSchema.ConnectionString == null)
            {
                throw new ArgumentException("No connectionString");
            }

            _schemaParameters = new SchemaParameters(databaseSchema.ConnectionString, databaseSchema.Provider);
            _schemaParameters.DatabaseSchema = databaseSchema;
            _schemaParameters.Owner          = databaseSchema.Owner;
            _readerAdapter = ReaderAdapterFactory.Create(_schemaParameters);
            _db            = databaseSchema;
        }
Example #9
0
        /// <summary>
        /// Gets all query columns
        /// </summary>
        public IList <DatabaseColumn> GetQueryColumns(DbConnection connection, string sql)
        {
            if (connection == null)
            {
                throw new ArgumentNullException(nameof(connection));
            }
            var schemaParameters = new SchemaParameters(connection);
            var readerAdapter    = ReaderAdapterFactory.Create(schemaParameters);
            var types            = readerAdapter.DataTypes();

            using (var cmd = connection.CreateCommand())
            {
                cmd.CommandText = sql;

                return(GetQueryColumns(cmd, types));
            }
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="DatabaseReader"/> class using an existing <see cref="DatabaseSchema"/>.
        /// </summary>
        /// <param name="databaseSchema">The database schema. Can be a subclassed version.</param>
        /// <param name="commandTimeout"></param>
        /// <param name="additionalParameters"></param>
        public DatabaseReader(DatabaseSchema databaseSchema, int commandTimeout, IAdditionalProperties additionalParameters = null)
        {
            if (databaseSchema == null)
            {
                throw new ArgumentNullException("databaseSchema");
            }
            if (databaseSchema.ConnectionString == null)
            {
                throw new ArgumentException("No connectionString");
            }

            _schemaParameters = new SchemaParameters(databaseSchema.ConnectionString, databaseSchema.Provider);
            _schemaParameters.DatabaseSchema = databaseSchema;
            _schemaParameters.Owner          = databaseSchema.Owner;
            _readerAdapter = ReaderAdapterFactory.Create(_schemaParameters, commandTimeout);
            _readerAdapter.AdditionalParameters = additionalParameters;
            _db = databaseSchema;
        }
        //reference: http://www.alberton.info/firebird_sql_meta_info.html
        //http://firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25-appx04-systables.html


        public FirebirdAdapter(SchemaParameters schemaParameters) : base(schemaParameters)
        {
        }
 public SqlServerCeAdapter(SchemaParameters schemaParameters, int commandTimeout) : base(schemaParameters, commandTimeout)
 {
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="DatabaseReader"/> class using an existing <see cref="DatabaseSchema"/>.
        /// </summary>
        /// <param name="databaseSchema">The database schema. Can be a subclassed version.</param>
        public DatabaseReader(DatabaseSchema databaseSchema)
        {
            if (databaseSchema == null) throw new ArgumentNullException("databaseSchema");
            if (databaseSchema.ConnectionString == null) throw new ArgumentException("No connectionString");

            _schemaParameters = new SchemaParameters(databaseSchema.ConnectionString, databaseSchema.Provider);
            _schemaParameters.DatabaseSchema = databaseSchema;
            _schemaParameters.Owner = databaseSchema.Owner;
            _readerAdapter = ReaderAdapterFactory.Create(_schemaParameters);
            _db = databaseSchema;
        }
 public ConnectionAdapter(SchemaParameters parameters)
 {
     _parameters = parameters;
 }
 public DbProviderReaderAdapter(SchemaParameters schemaParameters)
     : base(schemaParameters)
 {
     _schemaReader = SchemaReaderFactory.Create(schemaParameters.ConnectionString, schemaParameters.ProviderName);
     _schemaReader.Owner = schemaParameters.Owner;
 }
Example #16
0
 public PostgreSqlAdapter(SchemaParameters schemaParameters) : base(schemaParameters)
 {
 }
Example #17
0
 public ReaderAdapter(SchemaParameters schemaParameters)
 {
     Parameters = schemaParameters;
 }
 public ConnectionAdapter(SchemaParameters parameters)
 {
     _parameters   = parameters;
     _dbConnection = _parameters.DbConnection;
     DbTransaction = _parameters.DbTransaction;
 }
Example #19
0
 public OracleAdapter(SchemaParameters schemaParameters, int commandTimeout) : base(schemaParameters, commandTimeout)
 {
 }
 public OracleAdapter(SchemaParameters schemaParameters) : base(schemaParameters)
 {
 }
Example #21
0
 public MySqlAdapter(SchemaParameters schemaParameters) : base(schemaParameters)
 {
 }
 public SqLiteAdapter(SchemaParameters schemaParameters)
     : base(schemaParameters)
 {
 }
Example #23
0
 public SqLiteAdapter(SchemaParameters schemaParameters) : base(schemaParameters)
 {
 }
 public ReaderAdapter(SchemaParameters schemaParameters)
 {
     Parameters = schemaParameters;
 }
Example #25
0
        public static ReaderAdapter Create(SchemaParameters schemaParameters)
        {
            ReaderAdapter schemaReader = null;

            switch (schemaParameters.SqlType)
            {
            case SqlType.SqlServer:
                return(new SqlServerAdapter(schemaParameters));

            case SqlType.Oracle:
                schemaReader = new OracleAdapter(schemaParameters);
                break;

            case SqlType.SQLite:
                schemaReader = new SqLiteAdapter(schemaParameters);
                break;

            case SqlType.PostgreSql:
                schemaReader = new PostgreSqlAdapter(schemaParameters);
                break;

            case SqlType.MySql:
                schemaReader = new MySqlAdapter(schemaParameters);
                break;

            case SqlType.SqlServerCe:
                schemaReader = new SqlServerCeAdapter(schemaParameters);
                break;

            default:
                //var providerName = schemaParameters.ProviderName;
                //all the other types
                //if (providerName.Equals("Ingres.Client", StringComparison.OrdinalIgnoreCase))
                //{
                //    schemaReader = new IngresSchemaReader(connectionString, providerName);
                //}
                //else if (providerName.Equals("iAnyWhere.Data.SQLAnyWhere", StringComparison.OrdinalIgnoreCase))
                //{
                //    schemaReader = new SybaseAsaSchemaReader(connectionString, providerName);
                //}
                //else if (providerName.Equals("Sybase.Data.AseClient", StringComparison.OrdinalIgnoreCase))
                //{
                //    schemaReader = new SybaseAseSchemaReader(connectionString, providerName);
                //}
                //else if (providerName.Equals("iAnyWhere.Data.UltraLite", StringComparison.OrdinalIgnoreCase))
                //{
                //    schemaReader = new SybaseUltraLiteSchemaReader(connectionString, providerName);
                //}
                //else if (providerName.Equals("System.Data.OleDb", StringComparison.OrdinalIgnoreCase))
                //{
                //    schemaReader = new OleDbSchemaReader(connectionString, providerName);
                //}
                //else if (providerName.Equals("System.Data.VistaDB", StringComparison.OrdinalIgnoreCase))
                //{
                //    schemaReader = new VistaDbSchemaReader(connectionString, providerName);
                //}
                //else if (providerName.Equals("IBM.Data.DB2.iSeries", StringComparison.OrdinalIgnoreCase))
                //{
                //    schemaReader = new Db2ISeriesSchemaReader(connectionString, providerName);
                //}
                //else if (providerName.Equals("FirebirdSql.Data.FirebirdClient", StringComparison.OrdinalIgnoreCase))
                //{
                //    schemaReader = new FirebirdSqlSchemaReader(connectionString, providerName);
                //}

                break;
            }
            if (schemaReader == null)
            {
#if !COREFX
                schemaReader = new DbProviderReaderAdapter(schemaParameters);
#else
                schemaReader = new ReaderAdapter(schemaParameters);
#endif
            }
            return(schemaReader);
        }
        public static ReaderAdapter Create(SchemaParameters schemaParameters)
        {
            ReaderAdapter schemaReader = null;
            switch (schemaParameters.SqlType)
            {
                case SqlType.SqlServer:
                    return new SqlServerAdapter(schemaParameters);
                case SqlType.Oracle:
                    schemaReader = new OracleAdapter(schemaParameters);
                    break;
                case SqlType.SQLite:
                    schemaReader = new SqLiteAdapter(schemaParameters);
                    break;
                case SqlType.PostgreSql:
                    schemaReader = new PostgreSqlAdapter(schemaParameters);
                    break;
                case SqlType.MySql:
                    schemaReader = new MySqlAdapter(schemaParameters);
                    break;
                case SqlType.SqlServerCe:
                    schemaReader = new SqlServerCeAdapter(schemaParameters);
                    break;

                default:
                    //var providerName = schemaParameters.ProviderName;
                    //all the other types
                    //if (providerName.Equals("Ingres.Client", StringComparison.OrdinalIgnoreCase))
                    //{
                    //    schemaReader = new IngresSchemaReader(connectionString, providerName);
                    //}
                    //else if (providerName.Equals("iAnyWhere.Data.SQLAnyWhere", StringComparison.OrdinalIgnoreCase))
                    //{
                    //    schemaReader = new SybaseAsaSchemaReader(connectionString, providerName);
                    //}
                    //else if (providerName.Equals("Sybase.Data.AseClient", StringComparison.OrdinalIgnoreCase))
                    //{
                    //    schemaReader = new SybaseAseSchemaReader(connectionString, providerName);
                    //}
                    //else if (providerName.Equals("iAnyWhere.Data.UltraLite", StringComparison.OrdinalIgnoreCase))
                    //{
                    //    schemaReader = new SybaseUltraLiteSchemaReader(connectionString, providerName);
                    //}
                    //else if (providerName.Equals("System.Data.OleDb", StringComparison.OrdinalIgnoreCase))
                    //{
                    //    schemaReader = new OleDbSchemaReader(connectionString, providerName);
                    //}
                    //else if (providerName.Equals("System.Data.VistaDB", StringComparison.OrdinalIgnoreCase))
                    //{
                    //    schemaReader = new VistaDbSchemaReader(connectionString, providerName);
                    //}
                    //else if (providerName.Equals("IBM.Data.DB2.iSeries", StringComparison.OrdinalIgnoreCase))
                    //{
                    //    schemaReader = new Db2ISeriesSchemaReader(connectionString, providerName);
                    //}
                    //else if (providerName.Equals("FirebirdSql.Data.FirebirdClient", StringComparison.OrdinalIgnoreCase))
                    //{
                    //    schemaReader = new FirebirdSqlSchemaReader(connectionString, providerName);
                    //}

                    break;
            }
            if (schemaReader == null)
            {
            #if !COREFX
                schemaReader = new DbProviderReaderAdapter(schemaParameters);
            #else
                schemaReader = new ReaderAdapter(schemaParameters);
            #endif
            }
            return schemaReader;
        }
Example #27
0
 public ReaderAdapter(SchemaParameters schemaParameters)
 {
     Parameters     = schemaParameters;
     CommandTimeout = -1; //default timeout
 }
Example #28
0
 public ReaderAdapter(SchemaParameters schemaParameters, int commandTimeout)
 {
     Parameters     = schemaParameters;
     CommandTimeout = commandTimeout;
 }
 public SqlServerAdapter(SchemaParameters schemaParameters) : base(schemaParameters)
 {
 }
Example #30
0
 public PostgreSqlAdapter(SchemaParameters schemaParameters, int commandTimeout) : base(schemaParameters, commandTimeout)
 {
 }
Example #31
0
 public ConnectionAdapter(SchemaParameters parameters)
 {
     _parameters = parameters;
 }
 public SqlServerAdapter(SchemaParameters schemaParameters)
     : base(schemaParameters)
 {
 }
 public PostgreSqlAdapter(SchemaParameters schemaParameters)
     : base(schemaParameters)
 {
 }
        //reference: http://www.alberton.info/firebird_sql_meta_info.html
        //http://firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25-appx04-systables.html


        public FirebirdAdapter(SchemaParameters schemaParameters, int commandTimeout) : base(schemaParameters, commandTimeout)
        {
        }