본문 바로가기
DB/Oracle

ODP.Net Bulk Insert

by Lohen 2016. 2. 4.

 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();

반응형