Hejsa
Er der nogen her der har rodet med XML sammen med MS SQL Server i lidt
større stil?
Pt har jeg lavet et interface hvor man kan skyde XML ind for at tilføje
transactiosdata i en data
Det virker fortrinligt - jeg kan opdatere headers og item tabeller + lidt
ekstra i et kald
Jeg har dog brug for lidt at det hele er lidt mere fleksibelt :)
Jeg har bruger syntaksmæssigt noget ala
CREATE PROCEDURE custAddCustHeader
@XML ntext
AS
BEGIN
DECLARE @someKey varchar(10)
DECLARE @handle int
DECLARE @errorCode int
DECLARE @message nvarchar(255)
EXEC sp_xml_preparedocument @handle OUTPUT, @XML
SELECT @someKey = SomeKey FROM OPENXML(@handle, 'prefix/header') With
dbo.custHeader
(..)
EXEC sp_xml_removedocument @handle
END
Jeg har felt definitioner fra tabellen custHeader og det virker på den måde
at attributter i XML'en kan være valgfrie hvor værdien i databasen så bliver
Null - ganske udmærket
Men hvis jeg bruger noget ala
SELECT
@someField = SomeField,
@unknownField = UnknownField
FROM OPENXML(@handle, 'prefix/header')
WITH (SomeField nvarcar(20), UnknownField nvarchar(20))
Så skal de eksisterende attributter eksistere
Jeg mangler muligheden for at også "ukendte" attributter kan være valgfri
Jeg vil så selv sørge for at mappe om til de rigtige ting i database
tabellerne
Nogen ideer?
hmmm browsede lige lidt på Google ...
Er det "bare" sådan det skal gøres?
SELECT
@someField = SomeField,
@unknownField = UnknownField
FROM OPENXML(@handle, 'prefix/header')
WITH (SomeField nvarcar(20) '@someField', UnknownField nvarchar(20)
'@unknownField')
Jeg har dogikke ikke efterprøvet denne metode
tpf/Peter
--
Hi! I'm a .signature *virus*!
Copy me into your ~/.signature to help me spread!