0
我想将几个XML文件的内容插入到Oracle数据库中,然后将文件移动到存档文件夹中,但在错误的移动步骤中失败:不能将文件移动到其他文件夹
The process cannot access the file because it is being used by another process.
下面是代码:
conn.Open()
For Each oFile As String In Directory.GetFiles("D:\files")
Dim cmd As New OracleCommand
cmd.Connection = conn
filename = New FileInfo(oFile).Name
' integrarea de delivery notes
XML_File = XmlReader.Create(oFile, New XmlReaderSettings())
DataSet.ReadXml(XML_File)
cmd.CommandText = "pkg_erp.insert_delnote"
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("p_delnote_id", OracleDbType.Int64).Direction = ParameterDirection.Input
cmd.Parameters.Add("p_order_id", OracleDbType.Int64).Direction = ParameterDirection.Input
cmd.Parameters.Add("p_product_id", OracleDbType.Int64).Direction = ParameterDirection.Input
cmd.Parameters.Add("p_quantity", OracleDbType.Int64).Direction = ParameterDirection.Input
cmd.Parameters.Add("p_confirm", OracleDbType.Int16).Direction = ParameterDirection.Output
For i As Integer = 0 To DataSet.Tables(0).Rows.Count - 1
cmd.Parameters("p_delnote_id").Value = Convert.ToInt32(DataSet.Tables(0).Rows(i).Item(0))
cmd.Parameters("p_order_id").Value = Convert.ToInt32(DataSet.Tables(0).Rows(i).Item(1))
cmd.Parameters("p_product_id").Value = Convert.ToInt32(DataSet.Tables(0).Rows(i).Item(2))
cmd.Parameters("p_quantity").Value = Convert.ToInt32(DataSet.Tables(0).Rows(i).Item(3))
temp = cmd.ExecuteNonQuery()
result = cmd.Parameters("p_confirm").Value.ToString()
If result = "0" Then
file_waived = file_waived & New FileInfo(oFile).Name & Environment.NewLine
Else
file_list = file_list & New FileInfo(oFile).Name & Environment.NewLine
End If
Next
cmd.Parameters.Remove(cmd.Parameters.Add("p_delnote_id", OracleDbType.Int64))
cmd.Parameters.Remove(cmd.Parameters.Add("p_order_id", OracleDbType.Int64))
cmd.Parameters.Remove(cmd.Parameters.Add("p_product_id", OracleDbType.Int64))
cmd.Parameters.Remove(cmd.Parameters.Add("p_quantity", OracleDbType.Int64))
cmd.Parameters.Remove(cmd.Parameters.Add("p_confirm", OracleDbType.Int16))
File.Move(oFile, "D:\archive_path_FullText\" & filename)
Next
conn.Close()
谁能告诉我如何使用“File.Move()”,以避免提到的错误消息,请?
谢谢
的“d:\文件”文件夹中可能包含多种文件类型。除了送货单它可以包含,例如,发票或acknw。 对于这一点,我生成的参数内循环,之后我发现的文件类型。 – mikcutu
当我使用: '使用 \t XML_FILE = XmlReader.Create(OFILE,新XmlReaderSettings()) \t DataSet.ReadXml(XML_FILE) 结束Using' 它gaves我 “表达预计” 当我使用 '使用XML_FILE作为的XmlReader = XmlReader.Create(OFILE,新XmlReaderSettings()) \t DataSet.ReadXml(XML_FILE) 结束Using' 它gaves我“变“ XML_File'在封闭块中隐藏一个变量。 “ 我究竟做错了什么? – mikcutu
您应该删除XML_FILE的声明。(_Dim XML_FILE为Xml_Reader_ – Steve