ManagedDataAccess 批量插入多行数据到oracle
时间: 2023-11-30 22:02:56 浏览: 212
可以使用 Oracle.ManagedDataAccess 客户端提供的 OracleBulkCopy 类来实现批量插入多行数据到 Oracle 数据库。
以下是一个示例代码:
```csharp
using Oracle.ManagedDataAccess.Client;
// 数据库连接字符串
string connectionString = "Data Source=<hostname>/<service_name>;User ID=<username>;Password=<password>";
// 创建一个 DataTable 对象并填充数据
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Column1", typeof(int));
dataTable.Columns.Add("Column2", typeof(string));
dataTable.Rows.Add(1, "Row 1");
dataTable.Rows.Add(2, "Row 2");
dataTable.Rows.Add(3, "Row 3");
// 创建一个 OracleConnection 对象
using (OracleConnection connection = new OracleConnection(connectionString))
{
// 打开数据库连接
connection.Open();
// 创建一个 OracleBulkCopy 对象
using (OracleBulkCopy bulkCopy = new OracleBulkCopy(connection))
{
// 设置目标表的名称
bulkCopy.DestinationTableName = "Table1";
// 设置列映射关系
bulkCopy.ColumnMappings.Add("Column1", "Column1");
bulkCopy.ColumnMappings.Add("Column2", "Column2");
// 批量插入数据
bulkCopy.WriteToServer(dataTable);
}
}
```
在上面的示例代码中,首先创建了一个 DataTable 对象并填充了数据。然后创建了一个 OracleConnection 对象并打开了数据库连接。最后创建了一个 OracleBulkCopy 对象并设置了目标表的名称和列映射关系,最后调用 WriteToServer 方法批量插入数据到数据库中。注意,OracleBulkCopy 对象只能用于插入数据,不能用于更新或删除数据。
阅读全文