2 votes

DB2 n'enregistre pas l'apostrophe stylisée (')

J'essaie d'insérer une apostrophe stylisée (') dans une table dans DB2 LUW 9.7. Toutes les méthodes que j'ai essayées ont abouti à la création d'un carré () lors de la sélection de retour.

Les méthodes que j'ai essayées pour l'insérer :

  • Modifier et valider une rangée dans le Control Center (GUI)
  • Mise à jour d'une ligne par une commande SQL dans l'éditeur de commandes
  • Chargement à partir d'un fichier (encodé en UTF-8 et en ANSI) via IBM Data Studio 2.2

Y a-t-il un moyen d'introduire ce caractère dans la base de données ? Sinon, existe-t-il une liste de caractères qui ne peuvent tout simplement pas être utilisés ?

4voto

Leons Points 1028

Quel est l'encodage de votre base de données/espace de tables ? Je pense qu'il doit être défini sur UTF-8. Vous devrez peut-être créer un nouveau tablespace ou recréer la base de données avec l'encodage explicitement défini sur UTF-8.

A déterminer l'encodage Exécutez la commande suivante et recherchez l'information "Code set" :

db2 get db cfg for <database name>

1voto

pageman Points 1522

De Insertion d'une apostrophe dans une table DB2

 insert into userid.empy values(1234,'RAM'''); 

Vous avez mis 2 guillemets simples, pour qu'un seul guillemet apparaisse dans les tableau.

voir aussi : http://www.ibmmainframes.com/viewtopic.php?t=36901&highlight=apostrophe y http://www.ibmmainframes.com/viewtopic.php?t=29213&highlight=apostrophe

0voto

Peter Miehle Points 3753

Si vous utilisez l'API, une bonne méthode consiste à préparer la déclaration et à lier le texte contenant les guillemets à un paramètre.

Rappelez que le fait de permettre à quelqu'un de taper une citation et de l'insérer sans modification (comme sprintf(sqlstr, "INSERT INTO mytable VALUES ('%s')", inputstr) ;) peut conduire à une injection SQL.

ma contribution :

test');drop database;insert into mytable values ('test

peut conduire à une base de données vide

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X