我有一个运行Shell脚本的软件。 该外壳程序脚本中有一个sqlplus命令以及许多其他人员。

sqlplus -L 'user/passwd'@\'localhost:1521/orcl\' @file_path.ddl test_cpm_user test_cpm_password CPMDAT CPMIDX

Shell脚本在上面的该行上失败,并显示以下消息:

SQL*Plus: Release 11.2.0.4.0 Production on Fri Oct 12 11:50:36 2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified


SP2-0751: Unable to connect to Oracle.  Exiting SQL*Plus

但是,如果我自己从终端运行它,则效果很好。 这种行为可能是什么原因?

#1楼 票数:0

请尝试以下命令并使用大括号,因为我看到主机名包含特殊字符

sqlplus -L'{user} / {passwd}'@ {hostname}'@ file_path.ddl test_cpm_user test_cpm_password CPMDAT CPMIDX

  ask by R. Bogaveev translate from so

未解决问题?本站智能推荐:

1回复

从sqlplus提示符执行shell脚本并在shell脚本失败时退出sqlplus

我正在从检查文件的 sqlplus 控制台执行 shell 脚本,如果文件不存在,它会失败,退出代码为 1。虽然,shell 脚本失败,但 sqlplus 不会退出并开始运行下一个脚本。
1回复

如果我将变量传递给Shell脚本,则SQLPLUS无法正常工作

我编写了一个示例Shell脚本,尝试使用SQLPLUS执行SQL文件。 这是我的shell脚本 执行完此操作后,我得到以下SQLPLUS错误。 但是,如果我手动运行此程序,则可以毫无问题地连接到Oracle DB,这表明我的SQLPLUS连接字符串没有问题。 我猜壳是这里的罪魁祸首
1回复

从Shell脚本调用的sqlplus

我直接从Shell脚本调用SQL命令时遇到问题。 我的shell脚本包含以下命令: 单个命令(删除,更新)已完成,没有任何问题,但似乎未执行循环(在语句后未插入任何内容)。 有谁知道可能是什么问题? 在此先多谢您衷心祝愿约尔格
1回复

通过sqlplus取消Shell脚本

我在产品环境中以oracle身份登录,并且我在使用SQLPLUS时需要在远程主机上运行SHELL脚本。 我正在尝试通过python做到这一点。 有什么办法吗? 我能够从sqlplus运行SQL脚本或sql命令,如下所示:- 但是,当我想运行shell脚本时,是否有任何方法可以通过sq
3回复

从Shell脚本到SQLPlus的多行变量

将一个变量中的多个值传递到oracle数据库中单独记录中的最佳方法是什么? 我想从输出: hddlist= ` iostat -Dl|awk '{print ""$1"="$(NF)}' hddlist= iostat -Dl|awk '{print ""$1"="$(NF)}' 这
1回复

oracle通过shell脚本和sqlplus更改序列

我正在通过Shell脚本中的sqlplus更改序列。 我要做的是获取表的最大seq_no,在v_increment_num中设置值,然后将序列增加v_increment_num。 但是在运行alter语句时会出现错误。 脚本如下所示。 运行结果(TB_MY_ADM_USER.log)
1回复

如何将shell脚本的输入传递给sqlplus?

我被要求将现有SQLPLUS脚本的一部分更改为shell脚本以允许更多选项。 以下是原始SQLPLUS脚本提示的内容: 我的shell脚本现在看起来像: 到达SQLPLUS提示行时出现此错误: 我是sqlplus的新手,所以我知道这与我在开头设置的设置有关,如果我设置echo关闭
1回复

Shell脚本未保存SQLPlus的输出

我已经从RHEL服务器更改为CentOS,它不再起作用了。 CSV文件为空,但是当我将SQL复制并粘贴到SQLPlus中时,会得到100行?