el codigo del storeprocedure es el siguiente:
Código:
y este sp es llamado de la siguiente formaALTER PROCEDURE dbo.subirpagos2 @DATOS xml AS DECLARE @docHandle int --Declara Un Variable entero EXEC sp_xml_preparedocument @docHandle OUTPUT, @DATOS Insert into pagos(cuenta,referencia,factura,asignacion,doc,fechadoc,fechacontable,fechavencimiento,cpago,demo,importe,doccomp,compensacion,Cl,usuario) SELECT cuenta,referencia,factura,asignacion,doc,fechadoc,fechacontable,fechavencimiento,cpago,demo,importe,doccomp,compensacion,Cl,usuario FROM OPENXML(@docHandle,'pagos/pago',1) With (cuenta varchar(10), referencia varchar(6), factura varchar(10), asignacion varchar(6), doc varchar(10), fechadoc datetime, fechacontable datetime, fechavencimiento datetime, cpago varchar(4), demo int, importe numeric(10, 2), doccomp numeric(12, 0), compensacion varchar(8), Cl nchar(2), usuario varchar(10)) EXEC sp_xml_removedocument @docHandle
Código:
y mi base de datosDim conn As New SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString) Dim cmd As New SqlClient.SqlCommand Dim n As Integer = 0 cmd.CommandText = "subirpagos2" cmd.Connection = conn cmd.CommandType = CommandType.StoredProcedure Dim strFileName As String = "" Dim FileMapPath As String = "" Dim archivo As String = "pagos.xml" FileMapPath = Server.MapPath("xml") strFileName = FileMapPath & "\" & archivo cmd.Parameters.Add("@datos", SqlDbType.Xml).Value = My.Computer.FileSystem.ReadAllText(strFileName) cmd.Connection.Open() n = cmd.ExecuteNonQuery() conn.Close() MsgBox("cantidad de registro Procesado " & (n / 2).ToString, MsgBoxStyle.Information, "Listo")