Je suis en train de l'importation de données à partir d'une base de données MySQL dans l'héritage SQL Server 2005.SQL Server - essayer de convertir la colonne XML échoue
J'ai une table en particulier qui me provoque la douleur. Je l'ai importé de MySQL en utilisant un serveur lié et le pilote ODBC MySQL, et je finis avec ceci:
Col Name Datatype MaxLen
OrderItem_ID bigint 8
PDM_Structure_ID int 4
LastModifiedDate datetime 8
LastModifiedUser varchar 20
CreationDate datetime 8
CreationUser varchar 20
XMLData text -1
OrderHeader_ID bigint 8
Contract_Action varchar 10
ContractItem int 4
Mon objectif principal est la colonne XMLData
- Je dois lui et nettoyer faire en sorte que je peux le convertir en un type de données XML pour utiliser XQuery.
Je me suis donc l'option de la table « grandes données sur la ligne » à 1:
EXEC sp_tableoption 'OrderItem', 'large value types out of row', 1
puis-je aller de l'avant et de convertir XMLData
-VARCHAR(MAX)
et faire un nettoyage du XML stocké dans ce domaine. Tout va bien jusqu'à présent.
Mais quand je vais maintenant essayer de convertir cette colonne XML type de données:
ALTER TABLE dbo.OrderItem
ALTER COLUMN XMLData XML
Je reçois ce message ici:
Msg 511, niveau 16, état 1, ligne 1
Impossible créer une ligne de taille 8077 dont est supérieure au maximum autorisé taille de ligne de 8060. La déclaration a été terminée .
qui est assez surprenant, vu que les colonnes en dehors de la XMLData
ne représentent environ 90 octets, et je des instructions spécifiques SQL Server pour stocker toutes « grandes quantités de données » hors ligne ....
Alors pourquoi SQL Server refuse-t-il de convertir cette colonne en données XML ??? Des idées?? Pensées?? Choses que je peux vérifier/changer dans mon approche ??
Mise à jour: Je ne sais pas ce qui a changé, mais sur une deuxième tentative d'importer les données brutes de MySQL dans SQL Server, j'ai été avec succès en mesure de convertir cette NTEXT -> VARCHAR (MAX) à XML la fin ..... impair ..... anyhoo - fonctionne maintenant - merci les gars pour tous vos commentaires et suggestions! Grandement apprécié !
Avez-vous l'exemple de code pour répliquer ceci? –
@Ed Harper: Je peux vous donner mon extrait de code, mais la partie difficile est la suivante: ce code fonctionne très bien sur trois tables, et échoue seulement sur cette table en question .... –