SQl 加载程序使用 Python

SQl Loader using Python

我看到 SQL 加载程序表现得很奇怪。

我在我的终端上执行了一个命令(Linux) as

sqlldr username/password@XXXX control=xxx.ctl

以上命令没有产生任何错误:

Total logical records skipped:          0
Total logical records read:             4
Total logical records rejected:         0
Total logical records discarded:        0 

但是当我在 python 脚本中使用这个语句时:

subprocess.call('sqlldr USERNAME/PASSWORD3@XXX control=XXX.ctl', shell=True)

我看到没有记录被加载到目标中 table:

Total logical records skipped:          0
Total logical records read:             0
Total logical records rejected:         0
Total logical records discarded:        0

问题是,当我 运行 在命令行中使用 SQL 加载程序命令时,它表现正常,但不在 python script.Any 建议范围内......

谢谢

试试这个,因为我相信您需要在登录信息之前加上 USERID=:

subprocess.call('sqlldr userid=USERNAME/PASSWORD3@XXX control=XXX.ctl', shell=True)