我SqlBulkCopy
用于将数据从 Oracle 11g 源导入 MS SQL Server 2012。但NUMERIC
Oracle 中的一列包含 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 表中的任何内容。