出现错误 在执行 DB2 EXPORT IXF 时处理 Action String 参数中的 SELECT 字符串时发生 SQL 错误“-204”?
Posted
技术标签:
【中文标题】出现错误 在执行 DB2 EXPORT IXF 时处理 Action String 参数中的 SELECT 字符串时发生 SQL 错误“-204”?【英文标题】:Getting error An SQL error "-204" occurred while processing the SELECT string in the Action String parameter when executing DB2 EXPORT IXF? 【发布时间】:2019-08-28 14:13:10 【问题描述】:连接到数据库后,我在 Shell bash 上执行以下命令 下面的文本文件在 DB2 数据库中具有表名,例如
TABLE1
TABLE2
..
TABLEN
for tablenam in $(cat textfile)
do
db2 'EXPORT TO $PPL_IXFDRV/PREBKP/tablenam.IXF OF~
IXF MESSAGES /dev/null~
SELECT * FROM $SCHEMA.tablenam'
done
当我运行它时,我得到以下错误
SQL3022N 处理 中的 SELECT 字符串时发生 SQL 错误“-204” 操作字符串参数。
我已经用单引号尝试了上面的命令,如下所示
for tablenam in $(cat textfile)
do
db2 EXPORT TO $PPL_IXFDRV/PREBKP/tablenam.IXF OF~
IXF MESSAGES /dev/null~
SELECT \* FROM $SCHEMA.tablenam
done
这也给了我同样的结果
我在这里要做的是以 IXF 格式卸载数据库中“文本文件”列表中存在的 DB2 表,用重复命令中的 tablenam 替换 db2 EXPORT
【问题讨论】:
显然 Db2 找不到您要导出的表。使用-v
开关和db2
来回显正在执行的实际命令;您可能会发现问题出在哪里。
【参考方案1】:
试试这个:
for tablenam in $(cat textfile)
do
db2 "EXPORT TO $PPL_IXFDRV/PREBKP/$tablenam.IXF OF
IXF
SELECT * FROM $SCHEMA.$tablenam"
done
【讨论】:
我刚才试过了,结果是一样的可能没有被文本文件中的表名取代,我不确定需要一些帮助 循环内必须是$tablenam
而不是 tablenam
。检查更新的答案。以上是关于出现错误 在执行 DB2 EXPORT IXF 时处理 Action String 参数中的 SELECT 字符串时发生 SQL 错误“-204”?的主要内容,如果未能解决你的问题,请参考以下文章