【问题标题】:What would be the sql to enter thousands of records into Oracle db with C#?用 C# 将数千条记录输入 Oracle db 的 sql 是什么?
【发布时间】:2008-12-19 21:09:53
【问题描述】:

用 C# 将数千条记录输入 Oracle db 的 sql 是什么?

【问题讨论】:

  • 记录从何而来?它有很大的不同。
  • 需要更多信息!

标签: c# sql oracle


【解决方案1】:

使用ODP.NETarray binding

class Record {
  public int Value1 { get; set; }
  public int Value2 { get; set; }
}

Record[] records = GetRecords();

const string CMD_TEXT = "INSERT INTO TABLE (Col1, Col2) VALUES (:Col1, :Col2);"
using (var conn = new OracleConnection(connectionString))
using (var cmd = new OracleCommand(CMD_TEXT, conn)) {
   cmd.BindByName = true;
   // number of rows to insert
   cmd.ArrayBindCount = records.Length;

   // bind array of values to parameters
   cmd.Parameters.Add(":col1", OracleDbType.Int32, 
      records.Select(r => r.Value1).ToArray()
   );
   cmd.Parameters.Add(":col2", OracleDbType.Int32, 
      records.Select(r => r.Value2).ToArray()
   );

   conn.Open();
   cmd.ExecuteNonQuery();
   conn.Close();
}

【讨论】:

    猜你喜欢
    • 2010-11-11
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 2016-05-23
    • 2018-01-16
    • 2012-10-19
    相关资源
    最近更新 更多