2010-04-28 7 views
0

J'ai une petite base de données Access 2007 dont j'ai besoin pour importer des données d'une feuille de calcul existante et les intégrer dans notre nouveau modèle relationnel. Pour la plupart cela semble fonctionner plutôt bien. Une partie du processus tente de voir si un enregistrement existe déjà dans une table cible en utilisant SQL. Par exemple, si j'extrais des informations de livre hors de la ligne courante dans la feuille de calcul, il peut contenir un titre et un résumé. J'utilise SQL pour obtenir l'ID d'un enregistrement correspondant, s'il existe.Access 2007 et caractères spéciaux/Unicode dans SQL

Cela fonctionne correctement, sauf si j'ai des données dans une langue autre que l'anglais. Dans ce cas, il semble qu'il y ait de la ponctuation qui me cause des problèmes. Au moins je pense que c'est de la ponctuation car j'ai des champs qui n'ont pas de ponctuation et qui ne sont pas en anglais et qui ne me posent aucun problème.

Y a-t-il une fonction intégrée qui peut échapper à ces caractères? Actuellement, j'ai une petite fonction qui va échapper au caractère guillemet simple, mais ce n'est pas suffisant. Ou, y a-t-il une liste de caractères Unicode qui peuvent interférer avec la façon dont SQL veut que les données soient citées?

Merci d'avance.

+0

de Nevermind. J'ai fini par changer le processus d'importation pour réellement importer les données dans une table. Ce que j'ai oublié de mentionner, c'est que je créais à l'origine une table liée à la feuille de calcul Excel. Je devais encore échapper à certains personnages, mais cela fonctionne maintenant. – blockcipher

Répondre

0

Il est assez simple, Tout ce que vous avez à faire est de mettre un 'N' caractère avant la commande comme

select * from productswhere id = N'متن یونیکد' 

'N' sql force pour rechercher Unicode

+0

Et cela fonctionne dans Access/Jet/ACE SQL? Êtes-vous sûr que ce n'est pas spécifique à SQL Server? –