dotConnect for PostgreSQL Documentation
Devart.Data.PostgreSql Namespace / PgSqlLoader Class
Members Example

PgSqlLoader Class
Serves to load external data into PostgreSQL.
Syntax
'Declaration
 
Public NotInheritable Class PgSqlLoader 
   Inherits Devart.Common.DbLoader
   Implements System.ComponentModel.IComponentSystem.IDisposable 
 
Remarks

PgSqlLoader uses special capabilities of PostgreSQL server (the COPY command) to speed up loading of many rows into a table.

To specify the name of loading table set TableName property. Use Columns property to access individual columns.

This class is available only in Professional Edition. It is not available in Standard and Mobile Editions.

Example

The following example creates an PgSqlLoader, then populates Columns collection from table description, loads data, flushes the buffer and disposes internal PgSqlLoader structures. The PgSqlLoader requires open connection.

The following table is used in this example:

CREATE TABLE load_table
(
 id integer NOT NULL,
 text_field text,
 date_field date,
 CONSTRAINT load_table_pkey PRIMARY KEY (id)
)
public void LoadData(PgSqlConnection conn)
{
        // PgSqlLoader requires open connection 
        if (conn.State == ConnectionState.Closed)
                conn.Open();
        PgSqlLoader loader = new PgSqlLoader();
        // Specify connection that PgSqlLoader will use for loading 
        loader.Connection = conn;
        // Set table name that will be loaded into 
        loader.TableName = "load_table";
        // Populate Columns collection from table description 
        loader.CreateColumns();
        // Prepare PgSqlLoader for loading 
        loader.Open();
        for (int i = 0; i < 10000; i++)
        {
                loader.SetValue("id", i);
                loader.SetValue("text_field", "test string");
                loader.SetValue("date_field", DateTime.Now);
                loader.NextRow();
        }
        // Flush buffer and dispose internal PgSqlLoader structures 
        loader.Close();
}
Public Sub LoadData(conn As PgSqlConnection)
        ' PgSqlLoader requires open connection
        If conn.State = ConnectionState.Closed Then
                conn.Open()
        End If
        Dim loader As PgSqlLoader
        loader = New PgSqlLoader
        ' Specify connection that PgSqlLoader will use for loading
        loader.Connection = conn
        ' Set table name that will be loaded into
        loader.TableName = "load_table" 
        ' Populate Columns collection from table description
        loader.CreateColumns()
        ' Prepare PgSqlLoader for loading
        loader.Open()
        Dim i As Integer
        For i = 0 To 9999
                loader.SetValue("id", i)
                loader.SetValue("text_field", "test string")
                loader.SetValue("date_field", DateTime.Now)
                loader.NextRow()
        Next i
        ' Flush buffer and dispose internal PgSqlLoader structures
        loader.Close()
End Sub
Inheritance Hierarchy

System.Object
   System.MarshalByRefObject
      System.ComponentModel.Component
         Devart.Common.DbLoader
            Devart.Data.PostgreSql.PgSqlLoader

Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also