IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

SQL Server : Problème encodage XML


Sujet :

MS SQL Server

  1. #1
    Membre extrêmement actif

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Par défaut SQL Server : Problème encodage XML
    Bonjour,

    Je voudrais extraire des données depuis SQL Server et les enregistrer en fichier XML.
    Tout fonctionne très bien, hormis que le contenu xml récupéré est "utf-8" au lieu de "ISO-8859-15", donc je perd tous les accents.

    Voici mes requêtes :

    Fonction retournant le contenudu XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    CREATE FUNCTION [xml_genFile]()
    RETURNS TABLE 
    AS
    RETURN 
    (	SELECT '<?xml version="1.0" encoding="ISO-8859-15" ?> <Societes><Societe Num="0" Nom="Siège">' as 'Noeud'
    				UNION ALL SELECT(
    						select	Technicien.[Num] as Num,Technicien.[Nom] as Nom,dbo.xml_getDetails (Technicien.[Num]) as Certifs	
    						from DB1.dbo.Tech Technicien
    						for xml auto
    					)
    	UNION ALL SELECT('</Societe>')
    	UNION ALL SELECT(
    						select	Societe.[Num],Societe.[Nom],'Non-généré' as [Commentaire],Technicien.[Num] as Num,Technicien.[Nom] as Nom,dbo.xml_getDetails (Technicien.[Num]) as Certifs	
    						from DB2.dbo.SOCIETE Societe,DB2.dbo.ST Technicien
    						where Societe.Num=Technicien.NumSociete
    						group by Societe.[Num],Societe.[Nom]	,Technicien.[Num],Technicien.[Nom]
    						for xml auto
    					)
    		UNION ALL SELECT('</Societes>')
    )
    Procédure enregistrant dans un fichier XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE PROCEDURE [xml_genFileServer]
    AS
    BEGIN
    	DECLARE @sql varchar(1000)
    	DECLARE @chemSaveXml varchar(200)
    	DECLARE @cmd varchar(200)
     
    	select @chemSaveXml='\\Chemin\fichier.xml'
    	select @sql = 'bcp "select * from dbo.xml_genFile()" queryout "'+cast(@chemSaveXml as varchar(200))+'" -c -U"myUser" -P"myPwd" -S "myServer"'
    	exec master..xp_cmdshell @sql
    END
    La requête ci-dessous génère bien le fichier XML, mais en utf-8 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec dbo.xml_genFileServer
    Cependant, si j'exécute la requête ci-dessous dans SQL Server, la fenêtre de résultats prend bien en compte les accents :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from dbo.xml_genFile()
    Une idée ?

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 998
    Billets dans le blog
    6
    Par défaut
    Utilisez le paramètre -Ccode_page pour imposer à bcp un code page particulier.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre extrêmement actif

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Par défaut
    Merci beaucoup SQLpro.

    Ca marche nikel en utilisant dans mon bcp :

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. sql server probléme SSPI context
    Par samsih dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/12/2005, 12h57
  2. ADO + SQL Server + problème de connexion
    Par bchristo dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 02/12/2005, 17h08
  3. [SQL SERVER] : Problème de déclenchement d'un trigger
    Par sosso971 dans le forum Développement
    Réponses: 1
    Dernier message: 04/11/2005, 08h11
  4. [SQL Server] problème de caractères spéciaux
    Par mbibim63 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 02/06/2005, 18h38
  5. [SQL Server]Problème avec l'authentification SQL SERVER
    Par tidou dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/04/2005, 15h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo