I belive you asked the same question yesterday
copy data between 2 oracle tables[
^]
I usually do it like this:
public void WriteToServer( OracleConnection oracleConnection, string qualifiedDBName, DataTable dataTable )
{
try
{
using ( OracleBulkCopy bulkCopy = new OracleBulkCopy( oracleConnection ) )
{
bulkCopy.DestinationTableName = qualifiedDBName;
bulkCopy.WriteToServer( dataTable );
}
}
catch ( Exception exc )
{
LogException( exc, MethodBase.GetCurrentMethod( ) );
throw;
}
}
As you can see it's fairly easy. You can create the DataTable in this manner:
public DataTable CreateDataTable()
{
try
{
DataTable result = new DataTable();
DataColumn idDataColumn = new DataColumn( "ID", typeof(decimal) );
idDataColumn.AllowDBNull = false;
result.Columns.Add(idDataColumn);
DataColumn nameDataColumn = new DataColumn( "NAME", typeof(string) );
nameDataColumn.AllowDBNull = false;
result.Columns.Add(nameDataColumn);
DataColumn[] keys = new DataColumn[1];
keys[0] = idDataColumn;
result.PrimaryKey = keys;
return result;
}
catch (Exception exc)
{
LogException(exc, MethodBase.GetCurrentMethod());
throw;
}
}
Best regards
Espen Harlinn