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 :

Problème avec des champs varchar(max) illisibles


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Janvier 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Janvier 2015
    Messages : 3
    Par défaut Problème avec des champs varchar(max) illisibles
    Bonjour,

    Tout d'abord je tiens à préciser que ceci est mon premier post dans ce forum. J'espère que je n'enfreindrai pas des règles que je ne connais pas encore.

    Je dois récupérer des données d'une sauvegarde de base de données SQL Server 2005 afin de les transférer dans un nouveau logiciel.
    Pour cela j'ai utilisé SQL Server Management Studio et j'ai pu restaurer presque correctement mes fichiers .mdk. Les champs sont lisibles et exploitables à part ceux de type varchar(max) qui m'affichent des caractères totalement incohérents.

    Nom : image.jpg
Affichages : 289
Taille : 10,6 Ko

    Je ne suis pas un expert de SQL Server donc y a-t-il une manipulation que j'ai ratée ? Est-ce un cryptage ?

    J'ai tenté la manipulation avec SQL Server 2005 et SQL Server 2014 mais le résultat est le même dans les deux cas.

    Merci par avance pour l'aide que vous pourriez m'apporter.

  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
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Qu'y avait-il dans ces colonnes ? Parce que SQL Server ne transforme pas les données ! Lors d'une sauvegarde, ce sont des octets qui sont copiés. Le contenu est donc identique dans la base d'origine et la base destination. S'ils sont illisible dans la base de destination, il le sont aussi dans la base d'origine...

    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
    Candidat au Club
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Janvier 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Janvier 2015
    Messages : 3
    Par défaut
    Bonjour SQLPro,

    Ces colonnes contiennent des données alpha numériques. Dans l'exemple ci-dessus il s'agit d'un prénom. Ce n'est donc pas censé être un champ très long et pourtant il est indiqué comme varchar(max) ce qui, si je ne me trompe pas, est destiné au champs contenant des valeurs très longues.

    Dans la restauration, tous les champs de type texte ont été configurés comme des varchar(max). De ce fait, j'imagine que la base de données essaye de lire un contenu indexé ailleurs.

    Je ne sais pas si je suis bien clair dans mes explications.

    Du coup je me demande s'il est possible de configurer quelques chose lors de la restauration pour éviter que tous les champs texte deviennent des varchar(max). Dans l'exemple du prénom ci-dessus, je devrais avoir un varchar(50).

    Merci.

  4. #4
    Candidat au Club
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Janvier 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Janvier 2015
    Messages : 3
    Par défaut
    Bonsoir,

    Je ne sais pas si cela est important mais je viens de constater que tous les champs de ma base de données qui sont de type varchar(max) ont un nom qui se termine par X. Exemple FirstNameX, LastNameX, AddressX, etc...

    Est-ce que cela peut expliquer le problème que je rencontre ?

    Merci.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    La restauration d'une sauvegarde, produit une base dont la structure SQL comme le contenu est strictement identique à l’original. le fait d'avoir renommage des colonnes et des données apparemment incorrecte n'est donc pas de l'origine d'une restauration de sauvegarde, mais visiblement d'un outil de merde que vous avez utilisé indûment !

    Bref, reprenez la chose au départ, et partez du bon pied avec les bons outils... Autrement dit une sauvegarde se restaure avec le commande SQL RESTORE sur un serveur SQL Server !!!!

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

Discussions similaires

  1. DS 8.5 - Utiliser des champs VARCHAR(MAX)
    Par smuller dans le forum DataStage
    Réponses: 1
    Dernier message: 16/04/2015, 10h51
  2. [AC-2007] problème avec des champs null
    Par rominous41 dans le forum Requêtes et SQL.
    Réponses: 13
    Dernier message: 23/05/2011, 15h03
  3. Réponses: 0
    Dernier message: 11/08/2009, 16h21
  4. Problème avec des champs de formulaire
    Par ksper92 dans le forum Langage
    Réponses: 2
    Dernier message: 14/03/2008, 11h49
  5. [WB12] Problèmes d'indirections avec des champs
    Par Raphael_74 dans le forum WebDev
    Réponses: 6
    Dernier message: 11/02/2008, 08h20

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