如何在DB2中查找具有DBCException:SQL错误:CharConversionExcetion的行?

问题描述

我试图在表中查找行,该行似乎在单元格值中包含DBCException。 我似乎找不到一种快速的方法来找出具有此异常的唯一行。

存储在单元格中的错误:

DBCException:SQL错误:[jcc] [t4] [1065] [12306] [4.18.60]被捕获 java.io.CharConversionException。有关详细信息,请参见随附的Throwable。 ERRORCODE = -4220,SQLSTATE =空

PrimaryKey SomeColumn

1          A

2          B

3          C

4          DBCException: SQL Error...

5          DBCException: SQL Error...

在搜索时,这是我在此问题上获得一些帮助的唯一链接: https://www.ibm.com/support/pages/sqlexception-message-caught-javaiocharconversionexception-and-errorcode-4220

作为诊断,它提到要找到Hex(col)。 但是,我似乎无法缩小出现错误的行的范围,以便我可以对其进行修复。

我能够找出哪一列有错误。 我的问题是,如何缩小行数?

解决方法

我已经弄清楚了如何查询有异常的行。 因此,例外是关于无效字符,因此我们将通过以下方式缩小结果范围:

  1. 选择所有具有非空值的行
  2. 选择所有具有有效字符的行
  3. 减去两个数据集,您将获得包含无效字符的行。

查询: var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value

现在,您还可以通过以下方法删除无效字符来替换受影响的行中的内容。

更新表 SET列= regexp_replace(column,'[^ a-zA-Z- \ d]','') 在哪里 ( 选择编号 ( 选择编号 从表 WHERE栏不为空 减去 选择编号 从表 其中TRANSLATE(TRANSLATE(TRANSLATE(column,'','!@#$%^&*()-= + / {} []; ::,?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'),'','''''' ))='' AND栏不为空 ))

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...