大家好:
目前我用c生成一个shell脚本,shell脚本调用db2的export命令,报SQL3001C An I/O error (reason = "sqlofopn -2029060074") occurred while opening the output file. 这样的错误,网上说需要mkfifo来建立实名管道,我输出文件也用这个函数建立,但是报同样的错误。
c里面是execv 调用这个shell脚本, 在调用的时候也加入了db2home、libpath的环境变量信息,但是没有效果,报同样的错误。
但是手工执行这个shell脚本是可以导出数据的。
请教各位网友 有碰到过类似的情况并且问题是如何解决的?
或者针对这个问题有什么思路来解决。
下面是shell脚本
#! /usr/bin/sh
echo 'env============'
env
echo 'pwd============'
pwd
echo 'start==============================='
DB2HOME=/home/db2inst1/sqllib;
export DB2HOME
LIBPATH=/program/app/dw/aitools/lib:/usr/lib:/lib:/home/db2inst1/sqllib/lib64
export LIBPATH
export DB2NODE=1
db2 terminate;
db2 connect to XSMEC user dw using dw
db2 "export to /signal_file/itb/day_dw/ODS_N_INS_OFFER_TEST0522.CSV of del MODIFIED BY coldel& timestampformat=\"yyyy:mm:dd hh:mm:ss\" SELECT OFFER_INST_ID,CUST_ID,ORDER_NAME,OLD_OFFER_ID,OLD_OFFER_TYPE,RELAT_TYPE,CREATE_OP_ID from ODS_N_INS_OFFER_TEST "
db2 terminate;
------解决方案--------------------------------------------------------
脚本里面特殊符号的问题?比如\ / "" 等等?