首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL加载程序中作为参数的文件名

SQL加载程序中作为参数的文件名
EN

Stack Overflow用户
提问于 2017-06-28 08:40:43
回答 1查看 1.8K关注 0票数 2

我有这样的设想:

在我的工作目录中,我有一个sh脚本、ctl文件和输入文件,当我尝试使用输入参数(filename.txt)启动该脚本时:

代码语言:javascript
复制
mysh.sh filename.txt

我知道这个错误:

代码语言:javascript
复制
SQL*Loader-500: Unable to open file (filename.txt)
SQL*Loader-553: file not found
SQL*Loader-509: System error: No such file or directory
SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.

注意:所有对象(文件和目录有777个权限)

如果我使用输入文件的完整路径启动shell脚本,那么一切都正常。

代码语言:javascript
复制
mysh.sh fullpathtofile/filename.txt

我的问题是:当我只将文件名作为输入参数时,为什么不能工作?

我的sh文件的部分内容:

代码语言:javascript
复制
!/usr/bin/sh
sqlldr $USER/$PASSWD control=pathtofile data=$1  log=pathtofile  bad=pathtofile
EN

回答 1

Stack Overflow用户

发布于 2017-06-28 13:24:54

由于mysh.sh shell脚本和输入文件filename.txt放置在同一个位置,所以shell脚本能够定位该文件(如果位于其他路径,则无法工作)。但是sqlldr是一个安装在不同位置的oracle工具,因此您应该通过完整的路径来定位文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44797615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档