/// <summary> /// Gets the SqlServer NorthWind reader. /// </summary> /// <param name="additionalParameters"></param> /// <returns></returns> public static DatabaseReader GetNorthwindReader(IAdditionalProperties additionalParameters = null) { const string providername = "System.Data.SqlClient"; var connectionString = ConnectionStrings.Northwind; ProviderChecker.Check(providername, connectionString); var northwindReader = new DatabaseReader(connectionString, providername, 15, additionalParameters); northwindReader.Owner = "dbo"; return(northwindReader); }
/// <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; }
/// <summary> /// Initializes a new instance of the <see cref="DatabaseReader"/> class. For Oracle, use this overload. /// </summary> /// <param name="connectionString">The connection string.</param> /// <param name="providerName">Name of the provider.</param> /// <param name="owner">The schema owner.</param> /// <param name="commandTimeout"></param> /// <param name="additionalParameters">Names of database-specific propertoes to be read</param> public DatabaseReader(string connectionString, string providerName, string owner, int commandTimeout, IAdditionalProperties additionalParameters = null) : this(new DatabaseSchema(connectionString, providerName) { Owner = owner }, commandTimeout, additionalParameters) { }
/// <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; }