J'ai un projet C# existant qui lit un fichier texte et le charge dans une base de données Oracle à l'aide de System.Data.OleDb en tant que fournisseur. Le problème est que si le fichier a des caractères ascii supérieurs (par exemple ÀÑÓ, espace insécable), il génère toujours une erreur lorsqu'il essaie de le charger dans Oracle:En utilisant C#, est-il possible de faire en sorte que System.Data.OleDb gère les caractères spéciaux?
Erreur: OLEDBConnection Command La valeur de données n'a pas pu être convertie pour des raisons autres que l'incompatibilité de signe ou le dépassement de données.
Notre Oracle peut accepter les caractères ascii supérieurs (insérer via SQL * PLUS fonctionne bien), c'est System.Data.OleDb qui a un problème.
Quelqu'un sait s'il y a un paramètre pour changer cela? Je ne peux pas croire que cela accepte seulement A-Z-0-9. Regardé à travers une documentation, mais n'a rien trouvé.
Si ce n'est pas possible, comment faites-vous savoir OLEDB pour échapper le caractère. Fatigué de mettre \ dans le fichier avant les caractères spéciaux, mais il reste des erreurs avec le même message.
Note rapide: ces ne sont pas des caractères "ASCII supérieurs" - ASCII ne contient pas de caractères accentués ... c'est un simple encodage 7 bits. –
Avez-vous essayé d'utiliser les classes 'System.Data.OracleClient' incorporées, ou même le ODP.NET officiel (fournisseur Oracle ADO.NET), au lieu du fournisseur OLEDB ADO.NET? –
À quoi ressemble votre chaîne de connexion? –