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

Développement SQL Server Discussion :

[SQL CE 3.5] Quel type de champs utiliser pour du texte ?


Sujet :

Développement SQL Server

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Points : 377
    Points
    377
    Par défaut [SQL CE 3.5] Quel type de champs utiliser pour du texte ?
    Bonjour à tous,

    J'utilise SQL Server Compact Edition 3.5. Je suis tombé sur un loup en voulant utiliser un champs de type ntext pour pouvoir stocker du texte libre.
    En fait, ntext est déprécié et va etre retiré dans la prochaine version. De plus, les requetes sql classiques sur un champs ntext plantent car il y a un probleme de conversion (le type String ne supporte plus le type ntext d'après ce que j'ai pu lire sur la msdn).

    Qu'utilisez vous ?
    Y'a bien varchar et nvarchar mais c'est limité à 4000 caracteres... !!!
    Ca me parait tout de meme bizarre que Microsoft ne laisse pas un champs de type texte....

    Votre avis sur la question ?

    Merci d'avance
    @ bientot

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    As-tu essayé VARCHAR(MAX) ?
    Le type text est comme tu le dis déprécié, mais il est remplacé par celui-ci

    @++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Points : 377
    Points
    377
    Par défaut
    A quoi correspond Varchar(Max) ? je cherche sur la msdn mais je ne trouve pas

    Merci pour le tuyau en tout cas


    Edit : voici un extrait de wikipedia :

    A partir de la version 2005 de SQL Server, la limite de 8060 octets peut-être dépassée avec tous les types de longueurs variables. Une constante MAXSIZE a été introduite pour définir la taille des champs au maximum adressable par le moteur de base de données (actuellement 2 giga octets), elle sert à indiquer la longueur maximale des champs de type varchar(max), nvarchar(max), varbinary(max) qui remplacent respectivement les types text, binary et image qui ont été déclarés obsolètes.

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    VARCHAR(MAX) <=> text : 2Go
    NVARCHAR(MAX) <=> ntext : 1Go, unicode oblige

    Ici vous avez tous les types de données disponibles sous SQL Server 2005

    @++

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Points : 377
    Points
    377
    Par défaut
    Merci

    par contre le varchar(Max) n'est pas accepté par l'éditeur graphique de base de visual studio il me demande une taille avec des chiffres !
    Je vais regarder ce soir comment on peut palier à ce probleme

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    l'éditeur graphique
    Méfiez-vous des éditeurs, pour ma part je scripte tout, comme ça je maîtrise tous les traitements, je sais ce que je fais.
    Cela dit c'est bizarre ...

    @++

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Points : 377
    Points
    377
    Par défaut
    Bon eh bien je reviens à la charge
    J'essaye d'inserer ma colonne au format image ou bien varbinary avec le parametre max concernant la taille mais y'a pas moyen ca passe pas

    Voici l'exception Sql CE :

    Une erreur s'est produite lors de l'analyse de la requête. [ Token line number = 1,Token line offset = 41,Token in error = max ]
    Et la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE Budgets ADD colimg varbinary(max)
    Any idea please ?

    Merci d'avance
    @ bientot

  8. #8
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    C'est donc que ces types de données ne soient pas supportés par l'édition CE, ce qui paraît logique puisqu'ils autorisent 2Go de stockage alors qu'on est sur un embarqué ...
    La méthode de stockage d'un type image est en plus différente de celle utilisée pour stocker des données "classiques".
    Pourquoi ne pas plutôt stocker le chemin de votre fichier dans la table ?
    L'application lit ensuite le fichier ...
    Une petite démonstration par SQLPro ici.

    @++

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Points : 377
    Points
    377
    Par défaut
    Oui c'est la solution de secours que je comptais utiliser
    Je voulais voir comment on stockait des images en base.
    Tant pis

    Et merci pour toute l'aide !!!
    @ bientot

  10. #10
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Je voulais voir comment on stockait des images en base.
    Utilisez alors une version de SQL Server qui n'est pas la CE (l'Express, qui est gratuite, vous permet de voir comment cela fonctionne )

    @++

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Points : 377
    Points
    377
    Par défaut
    Je l'aurais fait si je n'avais pas la contrainte de pouvoir lancer l'appli à partir d'une cle usb sur n'importe quelle machine (qui n'ont pas de serveur installé)

    En meme temps que j'ecris ces lignes, je suis en train de me dire que je n'ai meme pas été me renseigner si je pouvais réaliser un private install de sql server express au meme titre que le CE (en gros, le serveur sql est seulement appelé via des dll, aucune installation de serveur n'est nécessaire). Je vais jetter un oeil ce soir...

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

Discussions similaires

  1. [MySQL] Quel type de champ Mysql pour valeurs monétaires
    Par okoweb dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 20/06/2011, 17h58
  2. [MySQL] MySQL, quel type de champ choisir pour prix
    Par okoweb dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/08/2010, 01h12
  3. Quel type de compte utiliser pour sql server de la ferme
    Par gracouille dans le forum SharePoint
    Réponses: 5
    Dernier message: 11/03/2009, 15h44
  4. Réponses: 4
    Dernier message: 24/10/2008, 10h21
  5. [aide] Quel type de champs utiliser pour mettre un "+"
    Par lothar59 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 04/03/2007, 15h05

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