ORA-01008: не все переменные связаны
Я хочу выполнить следующий код.Я не могу вставить csv-файл в базу данных Oracle.Код выдает исключение" ORA-01008: не все переменные связаны".
Может ли кто-нибудь помочь мне с этим
Моя первая строка csv файла выглядит следующим образом
27.06.2016;03.07.2016;1919959100;Pl-Auf ;081933436-9001;F-600953.01-0021.IR.ALDL-M/01;0030;SWE40700;26.11.2015;26.11.2015; 30
Я определил столбцы в таблице SAP_ZPCP12 следующим образом
ID NUMBER VONDATUM DATE BISDATUM DATE AUFTRAG NUMEBER DISPOEL VARCHAR2 MATERIAL VARCHAR2 BEZEICHNUNG VARCHAR2 VRG VARCHAR2 ARBPLATZ VARCHAR2 TERMSTART DATE TERMENDE DATE VORMENGE NUMBER
Что я уже пробовал:
Imports System.Data.OleDb Imports System.IO Module Module1 Public Function csvToDatatable(ByVal filename As String, ByVal separator As String) Dim dt As New System.Data.DataTable Dim firstLine As Boolean = True If IO.File.Exists(filename) Then Using sr As New StreamReader(filename) dt.Columns.Add("VONDATUM") dt.Columns.Add("BISDATUM") dt.Columns.Add("AUFTRAG") dt.Columns.Add("DISPOEL") dt.Columns.Add("MATERIAL") dt.Columns.Add("BEZEICHNUNG") dt.Columns.Add("VRG") dt.Columns.Add("ARBPLATZ") dt.Columns.Add("TERMSTART") dt.Columns.Add("TERMENDE") dt.Columns.Add("VORMENGE") While Not sr.EndOfStream Dim data() As String = sr.ReadLine.Split(separator) dt.Rows.Add(data.ToArray) End While End Using End If Return dt End Function Sub Main() Dim path As String = "C:\Users\bhogapud\Desktop\SAP_Transfer\EP1000022179500001final.csv" Dim finaldt As DataTable = csvToDatatable(path, ";") Dim oledbcn As New OleDbConnection(My.Settings.SQL_Server) Dim cmd As New OleDbCommand() cmd.CommandType = CommandType.Text For Each Row As DataRow In finaldt.Rows cmd.CommandText = "Insert into SAP_ZPCP12(ID, VONDATUM, BISDATUM, AUFTRAG, DISPOEL,MATERIAL, BEZEICHNUNG, VRG, ARBPLATZ, TERMSTART, TERMENDE, VORMENGE) values (SEQ_SAP_ZPCP12.NEXTVAL, :VONDATUM, :BISDATUM, :AUFTRAG, :DISPOEL, :MATERIAL, :BEZEICHNUNG, :VRG, :ARBPLATZ, :TERMSTART, :TERMENDE, :VORMENGE )" cmd.Parameters.Add(":VONDATUM", OleDbType.Date).Value = DateTime.ParseExact(Row(0), "dd.MM.yyyy", Nothing) cmd.Parameters.Add(":BISDATUM", OleDbType.Date).Value = DateTime.ParseExact(Row(1), "dd.MM.yyyy", Nothing) cmd.Parameters.Add(":AUFTRAG", OleDbType.Integer).Value = Row(2) cmd.Parameters.Add(":DISPOEL", OleDbType.VarChar).Value = Row(3) cmd.Parameters.Add(":MATERIAL", OleDbType.VarChar).Value = Row(4) cmd.Parameters.Add(":BEZEICHNUNG", OleDbType.VarChar).Value = Row(5) cmd.Parameters.Add(":VRG", OleDbType.VarChar).Value = Row(6) cmd.Parameters.Add(":ARBPLATZ", OleDbType.VarChar).Value = Row(7) cmd.Parameters.Add(":TERMSTART", OleDbType.Date).Value = DateTime.ParseExact(Row(8), "dd.MM.yyyy", Nothing) cmd.Parameters.Add(":TERMENDE", OleDbType.Date).Value = DateTime.ParseExact(Row(9), "dd.MM.yyyy", Nothing) cmd.Parameters.Add(":VORMENGE", OleDbType.Integer).Value = Row(10) cmd.Connection = oledbcn oledbcn.Open() cmd.ExecuteNonQuery() cmd.Dispose() oledbcn.Close() Next End Sub End Module