gpt4 book ai didi

c# - OracleBulkCopy 不向表中插入条目

转载 作者:行者123 更新时间:2023-12-02 04:56:08 25 4
gpt4 key购买 nike

这是我正在执行的代码:

public static void Main(string[] args)
{
var connectionString = "Data Source=dbname;User Id=usrname;Password=pass;";
DataTable dt = new DataTable("BULK_INSERT_TEST");
dt.Columns.Add("N", typeof(double));
var row = dt.NewRow();
row["N"] = 1;
using (var connection = new OracleConnection(connectionString)){
connection.Open();
using(var bulkCopy = new OracleBulkCopy(connection, OracleBulkCopyOptions.UseInternalTransaction))
{
bulkCopy.DestinationTableName = dt.TableName;
bulkCopy.WriteToServer(dt);
}
}

using (var connection = new OracleConnection(connectionString)){
connection.Open();
var command = new OracleCommand("select count(*) from BULK_INSERT_TEST", connection);
var res = command.ExecuteScalar();
Console.WriteLine(res); // Here I'm getting 0
}
}

它使用 OracleBulkCopy 向表中插入 1 个条目,然后计算表中的行数。为什么我得到 0 行?这是表的结构:

-- Create table
create table BULK_INSERT_TEST
(
n NUMBER
)

最佳答案

您实际上还没有将行添加到表中。您已经使用该表创建了一个包含正确列的新行,但实际上并未将其添加到表中。你需要:

dt.Rows.Add(row);

(基本上是在您的第一个 using 语句之前)

关于c# - OracleBulkCopy 不向表中插入条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17939893/

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