OdbcConnectionManager
Class OdbcConnectionManager
Generic OdbcConnectionManager - try this connection manager if no particular connection manager for your database exists. E.g. for MySql use the MySqlOdbcConnectionManager. Make sure to set the ConnectionType to fit with your database when creating an instance. If you leave the ConnectionManagerType.Unknown (which is the default), there might be some limitations when you use this ConnectionManager:
- Most ControlFlow Tasks won't work properly, depending on your database
- SqlTask will work
- If you use special characters, you need to set the quotation begin / quotation end properties QB and QE that fit to your database (e.g. "[" and "]" for Sql Server or "`" for MySql)
- DbDestination and DbSource will only work if you provide a TableDefinition that at least define the table and the columns names
Inheritance
Inherited Members
Namespace: ETLBox.Odbc
Assembly: ETLBox.Odbc.dll
Syntax
public class OdbcConnectionManager : DbConnectionManager<OdbcConnection, OdbcTransaction, OdbcParameter>, IConnectionManager<OdbcConnection, OdbcTransaction>, IConnectionManager, IDisposableConstructors
OdbcConnectionManager()
Declaration
public OdbcConnectionManager()OdbcConnectionManager(ConnectionType)
Declaration
public OdbcConnectionManager(ConnectionType connectionType)Parameters
| Type | Name | Description |
|---|---|---|
| ConnectionType | connectionType |
OdbcConnectionManager(ConnectionType, OdbcConnectionString)
Declaration
public OdbcConnectionManager(ConnectionType connectionType, OdbcConnectionString connectionString)Parameters
| Type | Name | Description |
|---|---|---|
| ConnectionType | connectionType | |
| OdbcConnectionString | connectionString |
OdbcConnectionManager(ConnectionType, string)
Declaration
public OdbcConnectionManager(ConnectionType connectionType, string connectionString)Parameters
| Type | Name | Description |
|---|---|---|
| ConnectionType | connectionType | |
| string | connectionString |
Properties
ConnectionTimeout
Set the connetion timeout for the ODBC connection.
Declaration
public int ConnectionTimeout { get; set; }Property Value
| Type | Description |
|---|---|
| int |
ConnectionType
The database type for the connection manager.
Declaration
public override ConnectionType ConnectionType { get; protected set; }Property Value
| Type | Description |
|---|---|
| ConnectionType |
Overrides
IsOdbcOrOleDbConnection
Indicates if the current connection manager is used as a OleDb or Odbc Connection.
Declaration
public override bool IsOdbcOrOleDbConnection { get; }Property Value
| Type | Description |
|---|---|
| bool |
Overrides
QB
The quotation begin character that is used in the database. E.g. SqlServer uses: '[' and Postgres: '"'
Declaration
public override string QB { get; protected set; }Property Value
| Type | Description |
|---|---|
| string |
Overrides
QE
The quotation end character that is used in the database. E.g. SqlServer uses: ']' and Postgres: '"'
Declaration
public override string QE { get; protected set; }Property Value
| Type | Description |
|---|---|
| string |
Overrides
Methods
BulkDelete(ITableData)
Performs a bulk delete
Declaration
public override void BulkDelete(ITableData data)Parameters
| Type | Name | Description |
|---|---|---|
| ITableData | data | Batch of data |
Overrides
BulkInsert(ITableData)
Performs a bulk insert
Declaration
public override void BulkInsert(ITableData data)Parameters
| Type | Name | Description |
|---|---|---|
| ITableData | data | Batch of data |
Overrides
BulkSelect(ITableData, ICollection<string>, Action, Action, params Action<object>[])
Performs a bulk select
Declaration
public override void BulkSelect(ITableData data, ICollection<string> selectColumnNames, Action beforeRowReadAction, Action afterRowReadAction, params Action<object>[] rowActions)Parameters
| Type | Name | Description |
|---|---|---|
| ITableData | data | Batch of data needed for the where condition |
| ICollection<string> | selectColumnNames | Column names included in the select |
| Action | beforeRowReadAction | Action invoked before any data is read |
| Action | afterRowReadAction | Action invoked after all data is read |
| Action<object>[] | rowActions |
Overrides
BulkUpdate(ITableData, ICollection<string>, ICollection<string>)
Performs a bulk update
Declaration
public override void BulkUpdate(ITableData data, ICollection<string> setColumnNames, ICollection<string> joinColumnNames)Parameters
| Type | Name | Description |
|---|---|---|
| ITableData | data | Batch of data |
| ICollection<string> | setColumnNames | The column names used in the set part of the update statement |
| ICollection<string> | joinColumnNames | The column names to join for the update |
Overrides
CleanUpBulkInsert(string)
Called after the whole bulk insert operation to change back settings made to improve bulk insert performance
Declaration
public override void CleanUpBulkInsert(string tablename)Parameters
| Type | Name | Description |
|---|---|---|
| string | tablename |
Overrides
Clone()
Cretes a clone of the current connection manager
Declaration
public override IConnectionManager Clone()Returns
| Type | Description |
|---|---|
| IConnectionManager | A instance copy of the current connection manager |
Overrides
CreateDbConnection()
By default, a db connection is created with the given connection string value. Override this method if you want to pass additional properties to the specific Ado.NET db connection.
Declaration
public override void CreateDbConnection()Overrides
PrepareBulkInsert(string)
Performs preparations needed to improved performance of a bulk insert operation
Declaration
public override void PrepareBulkInsert(string tablename)Parameters
| Type | Name | Description |
|---|---|---|
| string | tablename |