Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/02/2012, 23h22   #1
Invité de passage
 
Homme
Développeur .NET
Inscription : février 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Distribution

Informations forums :
Inscription : février 2012
Messages : 9
Points : 2
Points : 2
Par défaut [SQL2005] Le type de Données XML n'est pas pris en charge

Bonsoir,

Je souhaite copier les données d'une table contenant une colonne de type xml dans une autre table de même structure, par cette requête:

Code :
1
2
3
INSERT INTO [MaBase].[dbo].[T_Bag_Events]
SELECT Station_ID, NonResetableBagCount, EventTime, EventType, EventData, RecNo, ReviewTime, TIPEventID, Category, SubCategory
 FROM [IP].[SysDb].[dbo].[T_Bag_Events]
le problème c'est que j'obtiens ce message d'erreur:

Citation:
Le type de données XML n'est pas pris en charge dans les requêtes distribuées. L'objet distant '[IP].[BaseDeDonnées].dbo.T_Bag_Events' comporte des colonnes XML.
Merci d'avance.



Oliviera63
oliviera63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 15h51   #2
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 674
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2005
Messages : 4 674
Points : 8 741
Points : 8 741
Bonjour,

Comme vous pouvez le voir, c'est un problème qui ne va pas être résolu tout de suite

Faites donc un CAST(EventData AS varchar(max)) dans le SELECT

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 21h36   #3
Invité de passage
 
Homme
Développeur .NET
Inscription : février 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Distribution

Informations forums :
Inscription : février 2012
Messages : 9
Points : 2
Points : 2
Bonsoir Elsuket et merci d'avoir pris le temps de me répondre.

Malheureusement, le CAST ne m'a pas donnée de meilleurs résultats...

et en approfondissant, j'ai trouvé ceci:
Les tables ayant des colonnes xml ne peuvent pas être interrogées, même si la requête accède à des colonnes non xml de la table.

snif...

Oliviera63
oliviera63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 13h20   #4
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 726
Points : 6 851
Points : 6 851
Effectivement pas possible via les transactions distribuées mais en allant plus loin dans la solution de Elsuket, vous pouvez tout à fait créer une vue dans lequel vous faites un cast de votre colonne XML en VARCHAR(MAX) pour contourner votre problème.

++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2012, 11h44   #5
Invité de passage
 
Homme
Développeur .NET
Inscription : février 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Distribution

Informations forums :
Inscription : février 2012
Messages : 9
Points : 2
Points : 2
Bonjour,

En effet, il suffisait de créer une vue sur la machine distante, en effectuant au passage un cast sur la colonne xml pour ensuite récupérer le contenu de la table.

Un grand MERCI à vous et longue vie à ce forum!

Oliviera63
oliviera63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h55.


 
 
 
 
Partenaires

Hébergement Web