gpt4 book ai didi

c# - 在 C# 中使用 SqlBulkCopy 时舍入数字数据

转载 作者:行者123 更新时间:2023-11-30 17:06:55 26 4
gpt4 key购买 nike

我正在使用 SqlBulkCopy 将数据从 Oracle 11g 源导入到 MS SQL Server 2012。但是 Oracle 中的 NUMERIC 列之一包含类似 53682.0(~35times) 的值1, 263.9(~32次)。 Sql Server 中的目标列目前是 FLOAT 数据类型,目前我收到以下异常:

Arithmetic operation resulted in an overflow.

这是我的示例代码:

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 表中的任何内容。

最佳答案

你不能只修改你的 Oracle SELECT 查询,例如截断有问题的数值?

关于c# - 在 C# 中使用 SqlBulkCopy 时舍入数字数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14980419/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com