Import from xml sp_xml_preparedocument

03/03/2008 - 16:36 von Michael | Report spam
Hallo zusammen,

ich hab das problem das beim importieren von Daten die
sp_xml_preparedocument auf die nase fàllt sobald sich z.b Umlaute im Xml
befinden.
Wodurch wird das ausglöst? Wie kann ich dafür sorgen das am besten garnicht
validiert wird?

Der Code der SP:
setz @cTheTable = 'zieltabelle'

SET @doc = 'der zu übergeben XML string'

EXEC sp_xml_preparedocument @idoc OUTPUT, @doc;

set @cSQLCmd = 'insert INTO '+@cTheTable+' select * from OPENXML(@idoc
,''/exp/row'',2) with ' + @cTheTable;
SET @cSQLParamDefinition = N'@idoc int '

EXEC @nRetSPC = sp_executesql @cSQLCmd ,@cSQLParamDefinition, @idoc =
@idoc
set @iResult = @nRetSPC
exec sp_xml_removedocument @idoc

Viele Grüsse
Michael
 

Lesen sie die antworten

#1 Elmar Boye
03/03/2008 - 21:38 | Warnen spam
Hallo Michael,

Michael schrieb:
ich hab das problem das beim importieren von Daten die
sp_xml_preparedocument auf die nase fàllt sobald sich z.b Umlaute im Xml
befinden.
Wodurch wird das ausglöst? Wie kann ich dafür sorgen das am besten
garnicht validiert wird?



Grundsàtzlich erwartet sp_xml_preparedocument Unicode Daten,
wie das nun mal für XML spezifiziert ist. Und da das eine
Grundvoraussetzung für die Wohlgeformtheit ist, làsst sich
diese Validation auch nicht abstellen - es kàme eh nur Mist
dabei heraus.

Der Code der SP:
setz @cTheTable = 'zieltabelle'

SET @doc = 'der zu übergeben XML string'



wàre schon mal
SET @doc = N'...'

das einleitende 'N' bestimmt das es Unicode Daten sind.
Und der Inhalt dazwischen muss dann auch Unicode (UTF-16) sein.

Sollte das nicht der Fall sein, so musst Du das passende Encoding
vorgeben, wie das aussehen kann, hatte ich u. a. mal gepostet in
http://groups.google.de/group/micro...fd9c0ae9a7

Gruss
Elmar

Ähnliche fragen