目标:我想使用MariaDB从MS SQL Server中读取一些数据(通过ODBC Connect引擎),然后选择将其插入到本地表中。
问题:即使源和目标varchar字段的大小相同,我仍然会收到“错误代码1406数据太长”的信息(请参阅详细信息)
详细信息: 我要执行的查询的格式为:
@ExceptionHandler(UnrecognizedPropertyException.class)
@ResponseStatus(HttpStatus.UNPROCESSABLE_ENTITY)
public @ResponseBody Error handleUnrecognizedPropertyException(final UnrecognizedPropertyException e, final WebRequest request) {
...
}
上面是导致问题的最小字段子集。
INSERT INTO DEST_TABLE(NUMERO_DOCUMENTO)
SELECT SUBSTR(TRIM(NUMERO_DOCUMENTO),0,5)
FROM CONNECT_SRC_TABLE
字段出现问题,其中输入表的最大长度为14 总而言之,这似乎是源数据而不是目标表的问题。
尝试的解决方法:
NUMERO_DOCUMENTO VARCHAR(14) DEFAULT NULL
NUMERO_DOCUMENTO VARCHAR(100) DEFAULT NULL
,但总是返回相同的错误 解决方法:
我尝试使用INSERT INTO DEST_TABLE(NUMERO_DOCUMENTO) SELECT SUBSTR(TRIM(NUMERO_DOCUMENTO),0,5) FROM CONNECT_SRC_TABLE
执行相同的操作,此解决方案似乎有效:这意味着问题不在于数据本身,而在于引擎如何执行INSERT SELECT查询