ORA-01406:提取的列值被截斷 ; SQL Server :將截斷字符串或二進制數據


oracle 數據庫可以正常連接,表數據也可以正常讀取,

但在程序中相同的位置,有時會報錯,有時不會報錯,有的電腦會報錯,有的不會

報錯內容為 ORA-01406:提取的列值被截斷

查了網上提供的一些解決辦法,都不奏效

最終解決辦法:

app.config 文件的 connectionString  添加如下兩個字段屬性可解決

問了下大神理論解釋:

 

SQL環境類似問題:System.Data.SqlClient.SqlException (0x80131904): 將截斷字符串或二進制數據。語句已終止。

開始以為是直接相關的A表XML字段問題,但百度了下,發現XML字段最大存儲量可達2GB,我的錄入內容遠沒達到這么多,varchar(max)最大存儲量同XML,但XML主要針對XML數據,處理起來更方便,況且A表字段一直都是XML類型,再大內容也存儲過,所以應該不是A表字段類型問題。想到上面oracle的類似錯誤,我看了下自己的程序配置文件,發現字符編碼沒有寫完整,於是補充上去,但依然報錯。

再研究日志發現,是B表報的錯,保存操作在向A表XML字段存儲內容后,又將XML元素內容拆分 並分別存到B表的【元素值】字段,該字段類型為varchar(256),不足以存儲內容,所以將該字段改大一點(最大max)則不報錯了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM