我有一個現有的C#項目,它讀取文本文件並使用System.Data.OleDb作爲提供程序將其加載到Oracle數據庫中。問題是,如果文件具有較高的ascii字符(例如,非隔離空間),它會在嘗試將其加載到Oracle時產生錯誤:使用C#,是否有可能使System.Data.OleDb處理特殊字符?
錯誤是:OLEDBConnection命令參數數據值無法轉換除符號不匹配或數據溢出以外的其他原因。
我們的Oracle可以接受高級ascii字符(通過SQL * PLUS插入工作正常),它是有問題的System.Data.OleDb。
任何人都知道是否有一個設置來改變這個?不能相信那隻能接受A-Z-0-9。看過通過一個文件,但找不到任何東西。
如果不行,你如何讓OLEDB知道逃離角色。在特殊字符之前將累\放在文件中,但它仍然具有相同消息的錯誤。
快速注:這些不是「高級ASCII」字符 - ASCII不包含任何重音字符......這是一個簡單的7位編碼。 –
您是否嘗試過使用內置的'System.Data.OracleClient'類,甚至是官方的ODP.NET(Oracle ADO.NET Provider)而不是OLEDB ADO.NET提供程序? –
你的連接字符串是什麼樣的? –