2010-02-23 2 views
3

J'utilise une source de données oledb dans un package SSIS pour extraire une colonne d'une base de données. La colonne est un type de données XML. Dans SSIS, il est automatiquement reconnu comme type de données DT_NTEXT. Il va à un composant de script où j'essaye de le charger dans un fichier System.Xml.XmlDocument. C'est le code que j'utilise pour obtenir les données xml dans une chaîne:La colonne XML dans SSIS a octet-order-mark

System.Text.Encoding.Default.GetString(Row.Data.GetBlobData(0, Row.Data.Length)) 

Est-ce la bonne façon?

Une chose étrange que je vois est que sur un serveur, je reçois un octet de commande dans la chaîne résultante, et un autre serveur non. Cela ne me dérangerait pas de savoir pourquoi c'est le cas, mais mon vrai désir est de savoir comment obtenir cette chaîne sans la nomenclature.

Aide-moi, Stack Overflow, tu es mon seul espoir ...

Répondre

2

Ceci est la seule façon que j'ai pu le faire fonctionner:

System.Text.UnicodeEncoding.Unicode.GetString(...).Trim() 

Le Enlève .Trim() la nomenclature Je ne suis pas sûr que ce soit la «bonne» façon, mais c'est la seule chose qui a fonctionné jusqu'à présent.

Questions connexes