SqlBulkCopy
Oracle11gソースからMSSQLServer 2012にデータをインポートするために使用しています。しかしNUMERIC
、Oracleの列の1つに、53682.0(〜35times)1、263.9(〜32times)などの値が含まれています。SQL Serverのターゲット列は現在FLOAT
データ型であり、現在次の例外が発生しています。
算術演算によりオーバーフローが発生しました。
これは私のサンプルコードです:
using (SqlConnection conn = new SqlConnection(destConnString))
{
conn.Open();
try
{
using (OracleConnection connection = new OracleConnection(srcConnString))
{
using (OracleCommand command = new OracleCommand(selectQuery, connection))
{
connection.Open();
using (OracleDataReader reader = command.ExecuteReader(CommandBehavior.Default))
{
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(conn, SqlBulkCopyOptions.KeepIdentity, trans))
{
bulkCopy.DestinationTableName = tableName;
bulkCopy.BulkCopyTimeout = 0;
bulkCopy.WriteToServer(reader);
}
}
}
}
trans.Commit();
}
....
このデータを四捨五入しようとしていますが、成功せず、Oracleテーブルの何も変更できません。