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

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    mars 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mars 2004
    Messages : 7
    Points : 8
    Points
    8

    Par défaut Migration SQL 2000 vers 2005 et problème d'Unicode

    Bonjour,

    Nous venons de réaliser une migration d'une application fonctionnant avec une base SQL 2000.

    - Nous avons donc commencé par migrer la base sous SQL 2005 : Aucun problème.
    - Ensuite nous avons réalisé la migration applicative qui a mis à jour la base de donnée (ajout de colonnes ...)

    Le problème, c'est que l'on a pas fait attention à l'unicode!
    La base sous 2000 était NON unicode et on a fait la mise à jour applicative avec l'unicode.

    Résultat, on a un mix de colonnes en char() et d'autres en nchar() et lorsque l'on veut faire des ForeignKeys entre 2 tables et bien une fois sur 2 cela plante :S


    D'où ma question, y a-t-il un moyen simple de transformer tous les char() en nchar() et d'ailleurs pareil pour le varchar?

    Merci d'avance pour votre aide car là je suis bien en galère.

  2. #2
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Inscrit en
    mai 2002
    Messages
    18 949
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 18 949
    Points : 44 357
    Points
    44 357

    Par défaut

    Simple non, il faut migrer les données. Voici une méthode que je décrit :
    http://sqlpro.developpez.com/cours/s...partie2#L7.6.1

    Evitez d'utiliser l'interface graphique SQL Management studio pour ce faire, le script pissé par SQL Server est abominable de lourdeur...

    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...
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    mars 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mars 2004
    Messages : 7
    Points : 8
    Points
    8

    Par défaut

    C'est bien ce que je me disais
    Bon j'esperais qu'il existe un outil permettant de dire "je veux changer toutes les colonnes de ce type vers ce type" ...

    Merci pour ta réponse, je regarde ton lien

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    mars 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mars 2004
    Messages : 7
    Points : 8
    Points
    8

    Par défaut

    Re,

    Je met une requête permettant de sortir toutes les colonnes d'un certain type, si jamais cela sert à quelqu'un ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select o.name "Object Name", c.name "Column Name", t.name "Type", c.max_length "Taille"
    from sys.all_columns c, sys.systypes t, sys.objects o
    where c.object_id > 100
    and c.system_type_id = t.xtype
    and c.object_id = o.object_id
    and o.type <> 'V' -- Suppression des Vues
    and (t.name = 'char' or t.name = 'varchar') -- Choix des types
    Ensuite, j'ai exporté le résultat dans Excel et généré les requêtes d'alter table.
    Je précise que dans mon cas je ne suis pas obligé de passer par une colonne temporaire puisque je change des 'char' en 'nchar'.

    a+ et merci
    Micht

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

Discussions similaires

  1. Migration Sql 2000 vers sql 2008
    Par Palenf dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/05/2010, 21h09
  2. Migration SQL 2000 vers SQL 2005 Express
    Par jubourbon dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 07/04/2009, 08h20
  3. [SQL2005]Migration de 2000 vers 2005
    Par sir_ben dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/10/2008, 17h03
  4. Migration SQL 2000 vers 2005
    Par Epx510 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/03/2008, 11h20
  5. migration sql server 2000 vers 2005
    Par poosh dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 10/04/2006, 10h02

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