gpt4 book ai didi

linux - 在coldfusion中使用sqlldr将数据插入数据库

转载 作者:太空宇宙 更新时间:2023-11-04 04:42:50 25 4
gpt4 key购买 nike

我有一个从网站获得的 CSV 文件。我需要使用 ColdFusion 中的 SQLLDR 将相同的 CSV 文件上传到我的数据库中。由于某种原因,我无法将数据插入数据库。

下面是我的代码。使用此代码我无法将数据从 CSV 文件插入数据库。它是批处理文件中的工作文件,但无法使用 cfexecute 工作。我的意思是,我得到一个空白屏幕。没有错误,没有异常,什么都没有。检查了日志,但我也没有收到任何错误。我唯一能看到的是数据没有插入数据库。

仅供引用,我们使用的是Linux环境,所以路径略有不同。

<cfset CTLPATH="/home/mosuser/apps/nodal/ctl">
<cfset LOGPATH="/home/mosuser/apps/nodal/logs">

<cfexecute name="/opt/oracle/product/12.1.0/client_1/bin/sqlldr"
arguments="userid/password@Sid control=#CTLPATH#/mpimReport.ctl
log=#LOGPATH#/#PathfileName#_load.log data=#filelist##PathfileName#.csv
bad=#LOGPATH#/#PathfileName#_error.txt">
</cfexecute>

更新:

按照建议,转储错误变量 qryerr 显示:

Message 2100 not found; No message file for product=RDBMS, facility=ULMessage 2100 not found; No message file for product=RDBMS, facility=UL

最佳答案

向您的 <cfexecute> 添加一些参数打电话。

  • timeout - 按照预计该过程需要的秒数顺序
  • variable - 保存 sqlldr STDOUT 输出的变量名称
  • errorVariable - 保存 sqlldr 的 STDERR 输出的变量名称

完成此操作后,您可以获得调用的输出并检查它是否有任何错误消息和其他信息。

添加超时是关键的一步 - 这使得 cfexecute阻塞直到程序终止或达到超时。如果没有超时,ColdFusion 只是启动进程并立即继续执行当前页面的其余部分。

关于linux - 在coldfusion中使用sqlldr将数据插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56496357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com