XML an SQL Server 2005 übergeben

18/05/2009 - 09:35 von Frank | Report spam
Hallo !

Ich habe eine Stored Procedure, die eine Übergabe von xml in eine Variable
vom Typ xml erwartet.

In meinem vb.net-Code habe ich ein xmlDocument, welches ich wie folgt
übergeben möchte:

Using conn As New
SqlConnection("Server=Servername;UID=Benutzername;PWD=Passwort;Initial
Catalog=Datenbank;")
Dim xmlCommand As New SqlCommand("StoredProcedure", conn)
Dim xmlParameter As New SqlParameter
With xmlParameter
.ParameterName = "@xmlTest"
.Direction = ParameterDirection.Input
.DbType = DbType.Xml
.Value = doc
End With
xmlCommand.Parameters.Add(xmlParameter)
xmlCommand.CommandType = CommandType.StoredProcedure
conn.Open()
xmlCommand.ExecuteNonQuery()
conn.Close()

Ich erhalte folgenden Fehler:

System.InvalidCastException wurde nicht behandelt.
Message="Konvertierung des Parameterwertes von XmlDocument in String
fehlgeschlagen."

Wie kann ich das xmlDocument fehlerfrei übergeben ?

Danke und Gruß
FRANK PANNIER
 

Lesen sie die antworten

#1 Elmar Boye
18/05/2009 - 11:52 | Warnen spam
Hallo Franke,

"Frank" schrieb ...
Ich habe eine Stored Procedure, die eine Übergabe von xml in eine Variable
vom Typ xml erwartet.

In meinem vb.net-Code habe ich ein xmlDocument, welches ich wie folgt
übergeben möchte:

Ich erhalte folgenden Fehler:

System.InvalidCastException wurde nicht behandelt.
Message="Konvertierung des Parameterwertes von XmlDocument in String
fehlgeschlagen."



Die SqlParameter können XML nur als Zeichenkette verarbeiten
und mit einem XmlDocument direkt nichts anfangen.

Konvertiere das XmlDocument in eine Zeichenkette.
Enweder über XmlDocument.OuterXml oder mittels
StringWriter /XmlTextWriter.

Gruß Elmar

Ähnliche fragen