I have tried everything to get my inserts as fast as possible. I cannot use ExecuteArray or OracleLoader because I have to be aware of when there is an insert error due to a malformed line. My code is the following.
--------
Using InsertCommand As OracleCommand = MyConnection.CreateCommand
InsertCommand.CommandText = "INSERT INTO co.coredata (guid, eventcode, sunday, monday, tuesday, wednesday, thursday, friday, saturday, agencydata, image, checknum, noexception, weeknumber, loadyear, loaddate, rownumber) VALUES (:guid, :eventcode, :sunday, :monday, :tuesday, :wednesday, :thursday, :friday, :saturday, :agencydata, :image, :checknum,:noexception, :weeknumber, :loadyear, :loaddate, :rownumber)"
InsertCommand.Prepare()
For LineNumber = 0 To LineCount - 1
Lines(LineNumber) = Lines(LineNumber).Replace("""", "")
Lines(LineNumber) = Lines(LineNumber).Replace(" ", "") '
Dim Fullstr() As String = Split(Lines(LineNumber), ",", , CompareMethod.Text)
InsertCommand.Parameters.Add("guid", OracleDbType.VarChar, 64).Value = System.Guid.NewGuid
InsertCommand.Parameters.Add("eventCode",OracleDbType.VarChar,

InsertCommand.Parameters.Add("sunday", OracleDbType.VarChar,

InsertCommand.Parameters.Add("monday", OracleDbType.VarChar,

InsertCommand.Parameters.Add("tuesday", OracleDbType.VarChar,

InsertCommand.Parameters.Add("wednesday", OracleDbType.VarChar,

InsertCommand.Parameters.Add("thursday", OracleDbType.VarChar,

InsertCommand.Parameters.Add("friday", OracleDbType.VarChar,

InsertCommand.Parameters.Add("saturday", OracleDbType.VarChar,

InsertCommand.Parameters.Add("agencydata", OracleDbType.VarChar,

InsertCommand.Parameters.Add("image", OracleDbType.VarChar, 120).Value = Fullstr(9)
InsertCommand.Parameters.Add("checknum", OracleDbType.VarChar, 50).Value = Fullstr(10)
InsertCommand.Parameters.Add("noexception", OracleDbType.VarChar, 50).Value = Fullstr(11)
InsertCommand.Parameters.Add("weeknumber", OracleDbType.Char, 2).Value = WeekNum
InsertCommand.Parameters.Add("loadyear", OracleDbType.Char, 4).Value = Year
InsertCommand.Parameters.Add("loaddate", OracleDbType.Date).Value = String.Format("{0:dd-MMM-yyyy}", cbLoadDate.Value)
InsertCommand.Parameters.Add("rownumber", OracleDbType.Integer).Value = LineNumber
InsertCommand.ExecuteNonQuery()
Next LineNumber
End Using ------
My delima is when I use a straight insert in MS SQL Server(without binding) the above code executes at least 10x faster than when I am inserting into Oracle. I HATE SQL SERVER and I don't want to have to use it again. PS> Each load contains about 100,000 lines.
CAN SOMEONE HELP ME OUT THERE????
Thanks,
Stephane