[ whitefrost.com | Account Manager 4 Product Page ]

Core.Data.SqlBulkInsertFaux Class Reference

SqlBulkInsert is a thread-safe class for spooling SQL insert queries against an existing schema. It is made thread-safe by locking Add, Insert, and Clear invocations against the is_inserting bool; Locking the table object or table.Rows collection is ineffective The schema may be optionally cached to disk for repeated use. The implementing class should only need to add as many entries as desired using the Add method, and if Auto-insert is enabled, the Insert method is auto-invoked when the 'BulkSize' property is reached. Invoking Insert causes the spooled datarows to be bulkcopied into the target database. More...

Inheritance diagram for Core.Data.SqlBulkInsertFaux:

Core.Data.SqlBulkInsert

List of all members.

Public Member Functions

 SqlBulkInsertFaux (String in_connection_string, String in_table_name)
 SqlBulkInsertFaux (String in_connection_string, String in_table_name, String in_persist_path)
 SqlBulkInsertFaux (Core.Interfaces.IDataProvider provider, String in_table_name)
bool Prepare ()
bool Insert ()
bool AddRow (DataRow row)
DataRow NewRow ()
void Clear ()

Properties

Core.Data.DbFactory.CONNECTION_TYPE DatabaseType [get, set]
WindowsIdentity ImpersonationIdentity [get, set]
int CurrentSize [get]
int TotalCopied [get]
bool AutoInsert [get, set]
int BulkSize [get, set]
int BatchSize [get, set]
DataTable Table [get, set]
bool PersistSchemaLocally [get, set]
bool PersistSchema [get, set]
String PersistantSchemaPath [get, set]
String PersistantSchema [get, set]
String ConnectionString [get, set]
String TableName [get, set]

Private Attributes

String connection_string = null
String table_name = null
String persistant_schema_path = null
String persistant_schema = null
bool persist_schema = false
bool persist_schema_locally = false
DataTable table
int bulk_size = 20
int batch_size = 10
int current_size = 0
int total_copied = 0
bool auto_insert = false
bool is_inserting = false
WindowsIdentity impersonation_identity = null
Core.Data.DbFactory.CONNECTION_TYPE database_type = DbFactory.CONNECTION_TYPE.SQL
Core.Interfaces.IDataProvider data_provider = null


Detailed Description

SqlBulkInsert is a thread-safe class for spooling SQL insert queries against an existing schema. It is made thread-safe by locking Add, Insert, and Clear invocations against the is_inserting bool; Locking the table object or table.Rows collection is ineffective The schema may be optionally cached to disk for repeated use. The implementing class should only need to add as many entries as desired using the Add method, and if Auto-insert is enabled, the Insert method is auto-invoked when the 'BulkSize' property is reached. Invoking Insert causes the spooled datarows to be bulkcopied into the target database.


Constructor & Destructor Documentation

Core.Data.SqlBulkInsertFaux.SqlBulkInsertFaux ( String  in_connection_string,
String  in_table_name 
)

Core.Data.SqlBulkInsertFaux.SqlBulkInsertFaux ( String  in_connection_string,
String  in_table_name,
String  in_persist_path 
)

Core.Data.SqlBulkInsertFaux.SqlBulkInsertFaux ( Core.Interfaces.IDataProvider  provider,
String  in_table_name 
)


Member Function Documentation

bool Core.Data.SqlBulkInsertFaux.Prepare (  ) 

connection.Close();

Reimplemented in Core.Data.SqlBulkInsert.

bool Core.Data.SqlBulkInsertFaux.Insert (  ) 

connection.Close();

Reimplemented in Core.Data.SqlBulkInsert.

bool Core.Data.SqlBulkInsertFaux.AddRow ( DataRow  row  ) 

Reimplemented in Core.Data.SqlBulkInsert.

DataRow Core.Data.SqlBulkInsertFaux.NewRow (  ) 

Reimplemented in Core.Data.SqlBulkInsert.

void Core.Data.SqlBulkInsertFaux.Clear (  ) 

Reimplemented in Core.Data.SqlBulkInsert.


Member Data Documentation

Reimplemented in Core.Data.SqlBulkInsert.

String Core.Data.SqlBulkInsertFaux.table_name = null [private]

Reimplemented in Core.Data.SqlBulkInsert.

Reimplemented in Core.Data.SqlBulkInsert.

Reimplemented in Core.Data.SqlBulkInsert.

Reimplemented in Core.Data.SqlBulkInsert.

Reimplemented in Core.Data.SqlBulkInsert.

DataTable Core.Data.SqlBulkInsertFaux.table [private]

Reimplemented in Core.Data.SqlBulkInsert.

Reimplemented in Core.Data.SqlBulkInsert.

Reimplemented in Core.Data.SqlBulkInsert.

Reimplemented in Core.Data.SqlBulkInsert.

Reimplemented in Core.Data.SqlBulkInsert.

Reimplemented in Core.Data.SqlBulkInsert.

Reimplemented in Core.Data.SqlBulkInsert.

WindowsIdentity Core.Data.SqlBulkInsertFaux.impersonation_identity = null [private]

Reimplemented in Core.Data.SqlBulkInsert.

Reimplemented in Core.Data.SqlBulkInsert.

Reimplemented in Core.Data.SqlBulkInsert.


Property Documentation

Core.Data.DbFactory.CONNECTION_TYPE Core.Data.SqlBulkInsertFaux.DatabaseType [get, set]

Reimplemented in Core.Data.SqlBulkInsert.

WindowsIdentity Core.Data.SqlBulkInsertFaux.ImpersonationIdentity [get, set]

Reimplemented in Core.Data.SqlBulkInsert.

int Core.Data.SqlBulkInsertFaux.CurrentSize [get]

Reimplemented in Core.Data.SqlBulkInsert.

int Core.Data.SqlBulkInsertFaux.TotalCopied [get]

Reimplemented in Core.Data.SqlBulkInsert.

bool Core.Data.SqlBulkInsertFaux.AutoInsert [get, set]

Reimplemented in Core.Data.SqlBulkInsert.

int Core.Data.SqlBulkInsertFaux.BulkSize [get, set]

Reimplemented in Core.Data.SqlBulkInsert.

int Core.Data.SqlBulkInsertFaux.BatchSize [get, set]

Reimplemented in Core.Data.SqlBulkInsert.

DataTable Core.Data.SqlBulkInsertFaux.Table [get, set]

Reimplemented in Core.Data.SqlBulkInsert.

bool Core.Data.SqlBulkInsertFaux.PersistSchemaLocally [get, set]

Reimplemented in Core.Data.SqlBulkInsert.

bool Core.Data.SqlBulkInsertFaux.PersistSchema [get, set]

Reimplemented in Core.Data.SqlBulkInsert.

String Core.Data.SqlBulkInsertFaux.PersistantSchemaPath [get, set]

Reimplemented in Core.Data.SqlBulkInsert.

String Core.Data.SqlBulkInsertFaux.PersistantSchema [get, set]

Reimplemented in Core.Data.SqlBulkInsert.

String Core.Data.SqlBulkInsertFaux.ConnectionString [get, set]

Reimplemented in Core.Data.SqlBulkInsert.

String Core.Data.SqlBulkInsertFaux.TableName [get, set]

Reimplemented in Core.Data.SqlBulkInsert.


The documentation for this class was generated from the following file:
Stephen W. Cote, 2009, whitefrost.com