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 :

Remplacement de caractères sur type TEXT


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Par défaut Remplacement de caractères sur type TEXT
    Bonjour à tous,

    Je bloque sur un problème depuis un petit moment et j'aurais bien besoin d'aide ! :-)

    Mon problème concerne plusieurs langages, mais la solution que j'ai trouvée est orientée SGBD, donc je la pose ici mais je vais quand même vous exposer la totalité du problème :

    Je développe un site en AJAX :

    - Un tableau récapitulatif en HTML s'affiche aux yeux de l'utilisateur.
    - Lorsqu'il valide celui-ci, un ajout dans la BDD se fait (en AJAX donc) : j'insère dans la table RECAP le code HTML du tableau.

    ---> Déjà ici : AJAX faisant appel à un fichier XML et les balises HTML étant composées de caractères '<' et '>', un problème se pose.

    - Je remplace donc tous les caractères '<' et '>' de ma chaine par leur code HTML : '&lt;' et '&gt;'.
    - Je créé un trigger sur ma table sous SQL Server et décide de remplacer ces caractères HTML par ceux qui étaient bloqués par XML juste après un INSERT.

    ---> Et voici mon problème en SQL : ma colonne contenant le tableau HTML est une colonne TEXT car il peut être très grand et avec de nombreuses balises. Et apparemment, la fonction replace ne peut pas être utilisée sur ce type de colonne...

    Connaissez vous un autre moyen de procéder à un remplacement de ces caractères?


    Merci par avance,
    Clément.

    PS: Je n'ai pas le choix du langage, ainsi il aurait été plus simple de faire cet ajout en PHP, mais je ne peux pas.

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    Si vous faites cela en Ajax, je suppose que vous avez une page (php, asp, ou autre) qui récupère ces informations et les fournit pour votre httprequest. personnellement, je ne stockerai en base que les valeurs du tableau, et je laisserai à cette page le soin de créer le tableau html à partir des données (et éventuellement l'inverse si nécessaire)

    au pire, cette page pourrai au moins se charger de la conversion des caractères spéciaux. Les langages de scripting orientés web fournissent souvent nativement ce genre de fonction, il ne vous en coutera qu'une ligne

    Avez vous une idée de la taille maximum que pourra atteindre ce tableau html ?

    d'atre part, je ne comprend pas bien :
    ---> Déjà ici : AJAX faisant appel à un fichier XML et les balises HTML étant composées de caractères '<' et '>', un problème se pose.
    quel fichier XML, et quel est le problème qui se pose ? (vous pourriez aussi stocker simplement ce fichier XML en base, avec le type XML)


    Enfin, si vous voulez vraiment effecteur des remplacements sur votre colonne TEXT, vous pouvez la spliter an "blocs" de 4000, convertir en nvarchar, effectuer vos remplacements et reconvertir en TEXT. Mais cela n'est pas l'idéal, vous disposerez de beaucoup moins d'outils/fonctions pour faire ce genre d'opérations qu'avec un langage de programmation, tout simplement parce qu'un SGBDR n'est pas initialement prévu pour cela.

Discussions similaires

  1. remplacer un caractère sur console
    Par malhek69 dans le forum C
    Réponses: 18
    Dernier message: 07/12/2011, 13h22
  2. remplacement de caractère sur plusieurs feuilles
    Par magicfrom dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/05/2008, 09h59
  3. [RegEx] Remplacement de caractères sur une page générée en php
    Par _Alain_ dans le forum Langage
    Réponses: 4
    Dernier message: 08/12/2007, 13h18
  4. limite de caractère sur un type="texte"
    Par auduma dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/03/2005, 14h06
  5. Fonction LEFT sur champ de type "text" : méthodes
    Par MatthieuQ dans le forum Langage SQL
    Réponses: 4
    Dernier message: 08/06/2004, 11h15

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