2010-05-19 6 views

Répondre

0

Je pense que ce que vous dites est que vous avez ce que devraient être les deux octets d'un seul caractère Unicode dans deux caractères Unicode consécutifs (les octets hauts sont probablement tous les 0 octets). Cela peut arriver pour toutes sortes de raisons si vous ne manipulez pas correctement les pages de code lors des insertions.

Vous aurez besoin de revenir à des octets uniques, puis de réencoder les données.

+0

Les valeurs sont stockées dans un fichier texte dans ce format (par exemple Zard Frères Guesta) et j'utilise un insert en vrac avec openrowset pour importer les données. – Guazz

+0

sélectionner somecolofdata \t \t \t de OPENROWSET (BULK '' '+ @filePath + '\' + @FileName + ''', \t \t \t \t \t FORMATFILE = '' '+ @formatFileName + ''', \t \t \t \t \t FICHIERERREURS = '' '+ @errorFileName + ''', \t \t \t \t \t firstrow = 2, \t \t \t \t \t \t \t \t \t CODEPAGE = 1252, \t \t \t \t \t \t \t \t \t \t MaxErrors = 1000 \t \t \t \t) comme IMPORTEDDATA – Guazz

+0

Ceci est l'entrée du fichier de format: Guazz

0

Je pense que votre problème est que vous utilisez CODEPAGE = 1252 (un jeu de caractères codés sur un octet) lorsque vous chargez les données dans OPENROWSET.

Essayez d'utiliser 1202 (UTF-16), ou peut-être 1208 (UTF-8)

Vive

+0

Je crois que la page de code 65001 devrait faire l'affaire. https://connect.microsoft.com/SQLServer/feedback/details/370419/bulk-insert-and-bcp-does-not-recognize-codepage-65001?wa=wsignin1.0 –

Questions connexes