Foros del Web » Programación para mayores de 30 ;) » .NET »

XML a Sql Server

Estas en el tema de XML a Sql Server en el foro de .NET en Foros del Web. Hola a todos, no encontre en este foro el OPENXML, debo instertar a SQL Server transacciones que estan en XML. Este ejemplo me arroja un ...
  #1 (permalink)  
Antiguo 12/10/2006, 10:05
Avatar de mazingerz  
Fecha de Ingreso: febrero-2003
Ubicación: Sarasota FL
Mensajes: 147
Antigüedad: 21 años, 2 meses
Puntos: 0
XML a Sql Server

Hola a todos, no encontre en este foro el OPENXML, debo instertar a SQL Server transacciones que estan en XML. Este ejemplo me arroja un error en el EXECUTE del VB, Sintaxis o Acceso no compartido. Si alguien sabe como llevar XML a SQL. Porfavor Ayuda.
aca esta todo
Codigo VB.Net
Private Sub Insert_Xml_Sp()
'Creamos la cadena de Conexion a SQL Server
Dim strConnection As String
Dim strSP As String
'Connection
Dim oCnn As New ADODB.Connection()
'Command
Dim oCmd As New ADODB.Command()
Dim oDom As New MSXML2.DOMDocument()

strConnection = "Provider=SQLOLEDB;Data Source=SRVPEDIDOS;Initial Catalog=Predidos;UID=sa;Password=;"
oDom.async = False
' Load el xml...desde un File
oDom.load("C:\Pedido_Prueba.xml")
oCnn.Open(strConnection)
oCmd.ActiveConnection = oCnn
strSP = "exec Insert_Pedidos '" & Replace(oDom.xml, "'", "''") & "'"
oCmd.CommandType = ADODB.CommandTypeEnum.adCmdStoredProc
oCmd.CommandText = "exec Insert_Pedidos '" & Replace(oDom.xml, "'", "''") & "'"
oCmd.Execute()

oCmd = Nothing
oCnn = Nothing
oDom = Nothing
strConnection = Nothing

End Sub
****Fin

// Procedimeinto en SQL 2000
CREATE PROC Insert_Pedidos @empdata text
AS
DECLARE @hDoc int
exec sp_xml_preparedocument @hDoc OUTPUT, @empdata

INSERT INTO tblPedidos SELECT * FROM OPENXML(@hDoc, 'CencocalPushSchemaV0001/Pedidos')
WITH ( DisVetID char (36),
UsuarioID nvarchar (50) ,
ClienteID nvarchar (50) ,
Rut nvarchar (15) ,
NvoCli bit,
DireccionID nvarchar (50) ,
NvoDir bit,
ListaID nvarchar (50) ,
Monto decimal (18, 0) ,
DiasPlazo smallint ,
Lineas smallint ,
Obs nvarchar (50) ,
Inserted datetime )
EXEC sp_xml_removedocument @hDoc
GO

// Aca el archivo.xml

<CencocalPushSchemaV0001>
<Pedidos>
<DisVetID>1dc8da87-d645-439b-a4fe-5d74c08f8b97</DisVetID>
<UsuarioID>0607</UsuarioID>
<ClienteID>0114702137-000</ClienteID>
<Rut>0114702137-000</Rut>
<NvoCli>false</NvoCli>
<DireccionID>1</DireccionID>
<NvoDir>false</NvoDir>
<ListaID>50</ListaID>
<Monto>20465.0000</Monto>
<DiasPlazo>7</DiasPlazo>
<Lineas>7</Lineas>
<Printed>0</Printed>
<Obs />
<Inserted>2006-09-25T11:31:13</Inserted>
<PedidoID>6092511311376</PedidoID>
<ContraEntrega>false</ContraEntrega>
</Pedidos>
<Pedidos>
<DisVetID>27119849-38ed-4573-8006-23b7652750b9</DisVetID>
<UsuarioID>0114</UsuarioID>
<ClienteID>0064227084-000</ClienteID>
<Rut>0064227084-000</Rut>
<NvoCli>false</NvoCli>
<DireccionID>1</DireccionID>
<NvoDir>false</NvoDir>
<ListaID>50</ListaID>
<Monto>9780.0000</Monto>
<DiasPlazo>30</DiasPlazo>
<Lineas>5</Lineas>
<Printed>0</Printed>
<Obs>cheque-30-dias</Obs>
<Inserted>2006-09-25T11:34:32</Inserted>
<PedidoID>6092511343266</PedidoID>
<ContraEntrega>false</ContraEntrega>
</Pedidos>
</CencocalPushSchemaV0001>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:07.