“ VALUESNSERT”或附近的Postgres语法错误

时间:2020-01-14 14:18:32

标签: postgresql informatica

我们正尝试使用informatica将数据从一个postgres表加载到同一数据库中的另一个postgres表。我们遇到了以下问题-

错误消息如下:

Message Code: WRT_8229
Message: Database errors occurred: 
FnName: Execute -- [Informatica][ODBC PostgreSQL Wire Protocol driver][PostgreSQL]ERROR: VERROR; syntax error at or near "VALUESNSERT"(Position 135; File scan.l; Line 1134; Routine scanner_yyerror; ) Error in parameter 6.
FnName: Execute -- [Informatica][ODBC PostgreSQL Wire Protocol driver][PostgreSQL]Failed transaction. The current transaction rolled back. Error in parameter 6.
FnName: Execute -- [DataDirect][ODBC lib] Function sequence error

如果我们不加载3000字节的字符串列之一,则工作正常。任何人都可以在这个问题上阐明一下-

注意:我们的表结构中没有保留/关键字

2 个答案:

答案 0 :(得分:0)

如果您已经确定了导致错误的列,则可以按照以下步骤找到根本原因-
1.您可以检查informatica中的列的数据类型-在长度和数据类型方面是否与DB中的目标匹配。
2.确保从数据库导入目标。从其他进程创建目标或将列添加到现有目标可能会导致此类错误。
3.以详细模式运行或调试,以查看其确切原因在哪里。检查其是否正确读取,转换和加载数据等。
4.删除postgres目标并附加一个平面文件-如果该文件有效,则数据库表中存在问题。检查可能导致此问题的索引,约束等。
5.还要检查ODBC版本,该版本可能有很多限制,例如数据类型,长度处理。 ODBC也不擅长生成错误,因此您可能必须做一些猜测才能发现错误。

答案 1 :(得分:0)

谢谢大家。实施Informatica PDO后,我的问题得到解决。