/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MSSQL og OpenXML
Fra : Peter Lykkegaard


Dato : 01-12-07 16:09

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!



 
 
Peter Lykkegaard (17-12-2007)
Kommentar
Fra : Peter Lykkegaard


Dato : 17-12-07 12:46

Peter Lykkegaard wrote:

> 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
>
Pt er løsningen at lave en virtuel tabel med de rigtige feltnavne så virker
det som det skal

- Peter

--
Hi! I'm a .signature *virus*!
Copy me into your ~/.signature to help me spread!



Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste