[Microsoft][ODBC SQL Server Driver][SQL Server]将截断字符串或二进制数据!
什么意思啊?看不懂!!!
这是我执行一条插入数据的时候报的错!
相同的记录在不同时间执行也不一定报这条错误!好象这条错误随机发生的!!!
到底是哪里的问题?
谢谢!~~~

解决方案 »

  1.   

    可能目标数据库的字段长度比你加入到数据库的数据长度要短:
    1、检查目标字段的长度是否匹配。
    2、如果1通过,程序存在bug,检查程序运行过程中将要加入到数据库的数据库是否会产生异常。
    3、如果1、2都没问题,问题可才能在数据身上,如试图向一个 Integer 型的字段加入一个空格。
      

  2.   

    当你试图向一个字符字段插入一个长度超过该字段定义长度的字符串时,就会产生这个错误。
    比如说,该字段定义为char(4),而你试图插入字符串'12345'。
      

  3.   

    还有一种情况是发生在动态创建SQL字符串的时候要插入的值(通常是字符串)包含\0、单引号(')或者乱码之类的东东,就会发生这种错误这时需要过滤掉非法字符或者对字符转义
      

  4.   

    to sogno:
    请问怎么把查询语句中包含有SQL的关键字,和包含\0、单引号(')或者乱码之类的东东滤掉呢?
    谢谢先~~~
      

  5.   

    to gdmaple(davy) 
    这是个力气活,你得一个字符一个字符地判断,这样程序的效率就让人想吐血了,特别是转换大批量数据的时候
    所以,一般来说,也没必要这么干……我的建议是,你对这种错误单独处理,记录一个日志,然后专门去特殊处理,犯不上为了少量人让大伙跟着受累不是