|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Architecte de système d'information Inscription : mars 2011 Messages : 19 ![]() |
Bonjour à tous,
Je cherche à stocker une chaine très longue (> 100000 caractères) et au format XML dans une table. Le problème c'est que je risque d'avoir des accents dans ma chaine et du coup: Code :
XML parsing: line 1084, character 29, illegal xml character Alors j'ai googlé mon problème et j'ai trouvé cette solution: Code :
Alors j'aurais voulu avoir vos impressions sur ce problème, et des pistes de réflexion entre le pas trop flou et la réponse toute faite, si vous avez 2-3 minutes à m'accorder en ce 1 avril Bonne journée! |
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
Stockez là directement dans une colonne de type VARCHAR(max) cela permet 2 milliards de caractères.
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Architecte de système d'information Inscription : mars 2011 Messages : 19 ![]() |
Merci
En effet ça a l'air de mieux se passer. En plus, j'ai découvert un truc! (basique pour vous mais pour moi n'y connaissant pas grand chose c'est important) J'ai découvert que la valeur du paramètre du varchar était des octets! et non pas des le nombre de caractères ^^ Sinon lors de l'affectation de ma chaine en xml j'ai une nouvelle erreur: Code :
XML parsing: line 1, character 40, unable TO switch the encoding Merci en tout cas pour votre aide! Bonne journée |
|
|
00
|
|
|
#4 | |
|
Membre Expert
![]() |
Citation:
Faux, varchar(50): 50 caractères chacun codé sur un octet(+ stockage de la longueur effective) nvarchar(50): 50 caractères chacun codé sur deux octets (+ stockage de la longueur effective).
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
|
00
|
|
|
#5 | |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 667 ![]() |
Bonjour,
Citation:
Si vous passez votre colonne un Unicode (nvarchar), alors vous consommerez deux octets par caractère En revanche en Unicode vous pouvez stocker n'importe quel caractère existant de n'importe quel alphabet, alors qu'en ASCII vous ne pouvez stocker que des caractères latins @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 520 ![]() |
C'est sous Oracle que l'on a ce comportement par défaut.
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
|
|
00
|
|
|
#7 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 667 ![]() |
On notera au passage que l'utilisation d'une colonne varchar implique en plus de la longueur de la chaîne elle même 2 octets supplémentaires qui permettent de stocker l'offset de fin de chaîne dans la page dans laquelle elle est stockée
@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
Copyright © 2000-2012 - www.developpez.com