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 :

[SQLSERVER2K] Problème : Cannot resolve collation conflict for equal to operation.


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 172
    Points : 72
    Points
    72
    Par défaut [SQLSERVER2K] Problème : Cannot resolve collation conflict for equal to operation.
    Bonjour,

    J'ai un soucis au niveau des contraintes d'intégrités sur une base de données.
    J'ai 2 bases : A et B.

    - La base A contient les données et les contraintes d'intégrités, elles sont parfaitement fonctionnelles.
    - Je veux copier les données ainsi que les contraintes, de la base A vers la base B.

    Le soucis est que les contraintes ne se sont pas présentes dans la base B après copie.

    Comment faire pour importer les contraintes de la base A vers la B ? (il y en a tellement que je ne peux le faire à la main)

    Cordialement
    MeHo

  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 837
    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 837
    Points : 52 922
    Points
    52 922
    Billets dans le blog
    5
    Par défaut
    Comment avez vous fait cette "copie" ?

    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 régulier
    Inscrit en
    Mai 2006
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 172
    Points : 72
    Points
    72
    Par défaut
    Bonjour,

    J'ai créé une nouvelle base "B" en FRENCH_BIN (comme la base source)
    Puis dans "Click-droit->Propriété->Options" sur une base, j'ai mis "recovery model" à simple et coché "Auto Shrink" (comme sur la base source en fait)
    Puis j'ai fait un "Import Data" de ma nouvelle base "B" en important les données de la base source "A" ?

    Je suis clair ?

    Cordialement
    mEhO

  4. #4
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Ceci est normal car l'import des données via l'assistant ne copie pas vos contraintes.

    Passez par l'assistant copie d'une base de données ou sauvegardez et restaurez un backup de votre base A vers une base B

    ++

  5. #5
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 172
    Points : 72
    Points
    72
    Par défaut
    Je vais essayé ça

  6. #6
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 172
    Points : 72
    Points
    72
    Par défaut
    C'est bon ça a marché

    Par contre maintenant j'ai de nouveau un problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    UPDATE MaBdd_1..MaTable_1
    SET MaTable_1.clé_3 = 
    (
       SELECT cc.clé_3
       FROM MaBdd_2..MaTable_2 cc
       WHERE MaTable_1.clé_1 = cc.clé_1
       AND MaTable_1.clé_2 = cc.clé_2
       AND MaTable_1.clé_2 = cc.clé_3
    )
    Cette requête ne marche pas sur la nouvelle base de données alors que sur sur la base source (cf 1er post) ça marche correctement et que les tables sont les mêmes...

    J'ai ce message d'erreur :
    Server: Msg 107, Level 16, State 3, Line 1
    The column prefix 'MaTable_1' does not match with a table name or alias name used in the query.
    C'est la restauration qui a causé ces problèmes ?

  7. #7
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 172
    Points : 72
    Points
    72
    Par défaut
    J'ai aussi ce message d'erreur quand j'essaye de décomposer ma requête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT s.nom_service
    FROM MaBase_1..Table_1 t, MaBase_2..Table_2 c
    WHERE t.clé_1 = c.clé_1
    AND t.clé_2 = c.clé_2
    
    Server: Msg 446, Level 16, State 9, Line 1
    Cannot resolve collation conflict for equal to operation.
    Si ça peut vous aider, moi je comprends pas pourquoi il y une erreur alors que ça marche sur l'autre BDD

    edit : je me suis documenté, j'ai fait un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    USE MaBase
    EXEC sp_help MaTable
    Pour être sûr, j'ai comparé les champs, et la collation est la même "FRENCH_BIN"


    J'ai aussi le message suivant quand je fais des lots DTS sur agissant sur la nouvelle base.

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 837
    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 837
    Points : 52 922
    Points
    52 922
    Billets dans le blog
    5
    Par défaut
    Dans une base de données créé avec une collation forte (BINAIRE en l'occurrence), toutes les requêtes deviennent CASE SENSITIVEs.
    Autrement dit si vous n'orthographiez pas vos noms d'objet (colonne, table, vue, procédures UDF...) exactement de la même façon que vous les avez créés, casse comprise, alors le système ne peut les retrouver. N'oubliez pas que tout nom d'objet dans une base n'est autre qu'une donnée d'une table système...

    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/ * * * * *

  9. #9
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 172
    Points : 72
    Points
    72
    Par défaut
    Et bien c'est exactement ce qui est fait et ce que j'ai fait...

    Toutes mes bases sont en "FRENCH_BIN" et j'exécute sur chacune d'elles la même série de requêtes avec exactement la même syntaxe.

    Si elle marche sur toutes les tables sauf celle ci, c'est que le problème n'est pas là je suppose.

    Je vais devoir recommencer depuis le début, auriez vous une méthode à me proposer pour que je duplique ma base pour être sur qu'il n'y ait pas de problème ?

    Cordialement
    mEhO

Discussions similaires

  1. problème cannot be resolved to a type
    Par sky88 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 24/11/2010, 23h12
  2. Problème de déploiement [Cannot resolve reference Unresolved Ejb-Ref]
    Par Chabanus dans le forum Glassfish et Payara
    Réponses: 1
    Dernier message: 22/05/2010, 12h17
  3. Première JSP et problème "cannot be resolved to a type"
    Par dr.krusty dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 01/04/2009, 09h20
  4. Cannot resolve collation conflict for UNION.
    Par mister_toto dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/05/2006, 16h13
  5. Cannot resolve collation conflict for equal to operation !
    Par mcrocher dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/03/2005, 12h08

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