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 :

Nom de la table sensible à la casse


Sujet :

MS SQL Server

  1. #1
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut Nom de la table sensible à la casse
    Mon collègue est confronté à un problème. Lorsqu'il execute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM instrument
    Il obtient une erreur table instrument non existante
    Quand il execute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM INSTRUMENT
    Cela fonctionne.

    Le problème est que notre application a été codé en utilisant des minuscules, ce qui marche très bien sur d'autres serveurs

    J'ai cherché une configuration possible de ce serveur et trouvé cela :
    Citation Envoyé par SqlPro
    En principe, la casse (c'est à dire majuscule et minuscule) n'a pas d'importance dans la nomination des objets. Cependant, certains SGBDR s'avèrent sensibles à la casse pour le nom des objets SQL dans certaines conditions. C'est la cas en particulier de SQL Server, si on le paramètre à l'installation en CASE SENSITIVE.
    Ca confirme mon idée que la sensibilité à la casse est installée sur ce serveur. Je n'arrive pas à trouver comment modifier ce paramétrage (et si possible seulement sur la base que notre logiciel utilise).

    N.B. : Il s'agit d'un SQL SERVER 7

    Pouvez-vous m'aider, que mon collègue puisse rentrer chez nous, il est bloqué en installation
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  2. #2
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    La commande
    retourne à la ligne 16
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IDENTIFIER_CASE / SENSITIVE
    Alors que nos serveurs sont en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IDENTIFIER_CASE / MIXTE
    Questions :
    Est-ce possible de le changer pour le serveur sans ruiner les autres bases?
    Est-ce possible de le changer pour la connexion en cours ? (Comme les ALTER SESSION qu'on trouve dans Oracle)
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  3. #3
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Si j'ai bonne mémoire, cette option n'est pas modifiable.
    Il faut le faire à l'installation de ton serveur !!!

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  4. #4
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Solution fonctionnant sous MSSQL SERVER 2000
    MSSQL SERVER 2000 permet de changer le format de caractère, son ordre de tri et sa sensibilité grâce à cette requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER DATABASE ma_base COLLATE FRENCH_CS_AI
    Mais vous serez souvent confronté à une erreur 5030 qui vous indique que la base n'est pas libre en fait, qu'elle 'nest pas locké... Je n'ai pas recopié le texte d'erreur
    Bon cette erreur était dû au fait que mon analyseur de requête était sur la base en question et cela ne marchait donc pas... Comme je ne m'en suis pas rendu compte de suite j'ai fait cette opération :
    1-J'ai créé une nouvelle base de données avec la bonne valeur de chaîne de caractère (j'ai utilisé le wizard, mais sans le wizard, il suffit de rajouter au script de creation de base la clause COLLATE FRENCH_CS_AI
    2-J'ai fait un DTS pour prendre les données de la première base vers la seconde.
    3-J'ai testé, cela fonctionne.

    Je cherche une solution en MSSQL SERVER 7 actuellement. Si je trouve, je viendrais là publier ici. Mais si vous avez une astuce, je prends (Je n'ai pas de SQL SERVER 7 sous la main, j'en remonte un)
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  5. #5
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Je crois qu'en SQL SERVER 7, je suis bloqué :
    http://www.microsoft.com/resources/documentation/sql/7/all/proddocs/en-us/intro/part2/75515c02.mspx

    Sort Order
    A sort order is a set of rules that determines how Microsoft SQL Server collates and presents data in response to database queries. A sort order determines how character data is compared and in what sequence it is returned from a query.

    At various points in a query, SQL Server compares characters to see if they are equal. A sort order determines what characters are considered equal when compared. A case-insensitive sort order, for instance, considers an uppercase letter to be the same as its lower-case equivalent. A case-sensitive sort order considers the two characters to be different. Another example is accent sensitivity: whether characters with accents are considered the same as their unaccented counterparts.

    Important If you install a case-sensitive sort order, all entries are case-sensitive, including object names. This SELECT statement against a table named Customers is successful on a server with a case-insensitive sort order.

    SELECT * FROM CUSTOMERS

    The same statement fails on a server with a case-sensitive sort order.

    A sort order also determines the sequence of rows in the result set of a query.

    The sort orders available depend on the character set you chose. You cannot have different databases with different sort orders on the same server. In addition, you cannot back up and restore databases between servers configured for different sort orders.

    Important It is critical that you select the correct sort order when you install SQL Server. If you need to change sort orders after installation, you must rebuild your databases and reload your data.

    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  6. #6
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Non, vous n'êtes pas bloqué puisse qu'il vous reste une possibilité de générer une copie de cette base de données sur un autre serveur, et utiliser DTS pour pomper les données.
    Qu'est ce que tu en dis ?

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  7. #7
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Citation Envoyé par WOLO Laurent
    Non, vous n'êtes pas bloqué puisse qu'il vous reste une possibilité de générer une copie de cette base de données sur un autre serveur, et utiliser DTS pour pomper les données.
    Qu'est ce que tu en dis ?
    On ne peut pas toucher à la deuxième base. On ne peut pas intégrer un autre serveur (licence), une migration en SQL SERVER 2000 est prévue... Donc le problème se clot en un sens. Sinon oui, la solution serait un deuxième serveur paramétré sans sensibilité à la casse, sur lequel on migre les données via DTS.
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

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

Discussions similaires

  1. serveur sensible à la casse des noms de fichiers
    Par SpaceFrog dans le forum Apache
    Réponses: 4
    Dernier message: 10/09/2013, 16h59
  2. Table et colonne sensible à la casse
    Par Akta3d dans le forum Doctrine2
    Réponses: 1
    Dernier message: 11/12/2012, 14h17
  3. ODBC : nom de champ sensible à la casse
    Par Flamenco dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 19/11/2010, 07h52
  4. nom de fichier sensible à la casse
    Par spender dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 23/04/2007, 11h23
  5. [Access] Nom d'une table avec un espace dans SQL
    Par Corsaire dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/04/2006, 15h50

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