ODP.Net Bulk Insert
1 OracleConnection connectionOracle = new OracleConnection();
2 connectionOracle.ConnectionString = "User Id=xxxxx;Password=xxxxx;Data Source=xxxxx;";
3 connectionOracle.Open();
4
5 // int[] myArrayDeptNo = new int[3] { 90, 91, 92 };
6 List<int> myArrayDeptNo = new List<int>();
7 myArrayDeptNo.Add(90);
8 myArrayDeptNo.Add(91);
9 myArrayDeptNo.Add(92);
10
11 // string[] myArrayDeptName = new string[3] { "Accounts", "HR", "Admin" };
12
13 List<string> myArrayDeptName = new List<string>();
14 myArrayDeptName.Add("Accounts");
15 myArrayDeptName.Add("HR");
16 myArrayDeptName.Add("Admin");
17
18 OracleCommand commandOracle = new OracleCommand();
19
20 // Set the command text on an OracleCommand object
21 commandOracle.CommandText
22 = "INSERT INTO SCOTT.DEPT(DEPTNO,DNAME) VALUES (:deptno, :deptname)";
23 commandOracle.Connection = connectionOracle;
24
25 commandOracle.ArrayBindCount = myArrayDeptName.Count;
26
27 OracleParameter prmdeptno = new OracleParameter("deptno", OracleDbType.Int32);
28 prmdeptno.Direction = ParameterDirection.Input;
29 prmdeptno.Value = myArrayDeptNo.ToArray();
30 commandOracle.Parameters.Add(prmdeptno);
31
32 OracleParameter prmdeptname = new OracleParameter("deptname", OracleDbType.Varchar2);
33 prmdeptname.Direction = ParameterDirection.Input;
34 prmdeptname.Value = myArrayDeptName.ToArray();
35 commandOracle.Parameters.Add(prmdeptname);
36
37 // Execute the command
38 commandOracle.ExecuteNonQuery();
39
40 connectionOracle.Close();
41 connectionOracle.Dispose();