Unicode et SQL Server [Résolu]

Signaler
Messages postés
305
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 août 2011
-
Messages postés
305
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 août 2011
-
Bonjour à tous,



Je cherche à faire un petit truc, là, mais ca marche pas des masses.

J'ai une base de donnes contenant des phonétiques au format Unicode.

J'ai une seconde base de données dans laquelle je veux recopier ces données Unicode.

Mes deux bases sont au format SQLServer et les champs contenant de
l'unicode dans la base de données source et cible sont des ntext.

Je fais ma moulinette en C# avec le framework v2...

Je fais donc un select sur ma bd source et un insert dans ma db cible,
mais au final, mes caractères Unicode sont remplacés par des "?" ou des
trucs comme ca... bref, ca chie. Quelqu'un a une idée pour résoudre le
problème ?



Merci d'avance !



Yoann

2 réponses

Messages postés
305
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 août 2011
5
Bonjour,



En fait voila, le problème a été résolu. Pour insérer une chaine de
caractère Unicode dans un ordre INSERT, il faut utiliser le préfixe N.
Je m'explique :

1. Si on fait :

INSERT INTO MaTable VALUES (1, 'Ma chaîne unicode');

... Ca ne fonctionne pas, et tous les caractères unicodes de ma chaine sont remplacés par des carrés ou des "?".



2. Par contre, si on fait :

INSERT INTO MaTable VALUES (1, N'Ma chaîne unicode');

... Ben là, ca fonctionne correctement, et aucun caractère Unicode
n'est "tronqué". Bien sûr, il faut que le champs qui va acceuillir mon
texte Unicode soit un nvarchar ou un ntext.



Sinon, merci pour ton aide fdouieb, mais si je
n'avais pas eu l'info citée précédemment, je n'aurais pas pu écrire de
procédure stockée qui fonctionne et qui fasse des INSERT avec de
l'Unicode.



Bref, j'espère que ca pourra servir aux autres par la suite.
Messages postés
264
Date d'inscription
vendredi 12 décembre 2003
Statut
Membre
Dernière intervention
12 juin 2013
3
Franchement je ne sais pas pourquoi tu as c'est trucs. Cependant, sur
tu cree une procedure stockée qui s'occupe de tes insert il me semble
que cela devrais bien fonctionné. au niveau de ton programme C# seul
l'appelle de la Proc Stock sera fait



A+