I have an existing C# project that reads a text file and loads it into an Oracle DB using System.Data.OleDb as provider. Problem is that if the file has upper ascii characters (e.g. ÀÑÓ, non-breaking space) it always generates an error when it tries to load it into Oracle:
Error is: OLEDBConnection Command Parameter data value could not be converted for reasons other than sign mismatch or data overflow.
Our Oracle can accept upper ascii characters (insert via SQL*PLUS works fine), it is System.Data.OleDb that is having issue.
Anyone know if there is a setting to change this? Can’t believe that that only accepts A-Z-0-9. Looked thru a ll documentation but couldn’t find anything.
If it can’t, how do you let OLEDB know to escape the character. Tired putting \ in the file before special characters, but it still errors with same message.
You may have to use HEX conversions. For example %c4 is Ä.
Try that and let me know if that works. Here are the conversion functions you can use.