Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL语句未将值返回到UNiX变量_Sql_Linux_Oracle_Unix - Fatal编程技术网

SQL语句未将值返回到UNiX变量

SQL语句未将值返回到UNiX变量,sql,linux,oracle,unix,Sql,Linux,Oracle,Unix,我有如下代码的shell脚本test_var.sh。我在get_date变量中需要sysdate值,但得到的是空行。如果我在不同的服务器上使用相同的用户/密码运行相同的shell代码,则会得到Sysdate值。请帮助我服务器属性或用户属性需要哪些更改 get_date=`sqlplus -s scott/Tiger@dbname <<EOF set heading off set feedback off set pagesize 0 select to_char(Sysdate,"

我有如下代码的shell脚本test_var.sh。我在get_date变量中需要sysdate值,但得到的是空行。如果我在不同的服务器上使用相同的用户/密码运行相同的shell代码,则会得到Sysdate值。请帮助我服务器属性或用户属性需要哪些更改

get_date=`sqlplus -s scott/Tiger@dbname <<EOF
set heading off
set feedback off
set pagesize 0
select to_char(Sysdate,"MM-DD-YYYY") from dual;
EOF`

echo $get_date

get_date=`sqlplus-s scott/Tiger@dbname请尝试将格式放在单引号中:

select to_char(Sysdate,'MM-DD-YYYY') from dual;

请尝试将格式用单引号括起来:

select to_char(Sysdate,'MM-DD-YYYY') from dual;

以下是我的完整脚本:

类别d1.sh

get_date=`sqlplus -s xxx/xxx << EOF
set heading off
set feedback off
set newpage none
select to_char(sysdate, 'YYYY-MM-DD' ) from dual;
EOF`

echo $get_date

以下是我的完整脚本:

类别d1.sh

get_date=`sqlplus -s xxx/xxx << EOF
set heading off
set feedback off
set newpage none
select to_char(sysdate, 'YYYY-MM-DD' ) from dual;
EOF`

echo $get_date


问题是Unix服务器中的临时空间。临时文件夹已满。清理临时空间后,我可以从Oracle获取值

问题在于Unix服务器中的临时空间。临时文件夹已满。清理临时空间后,我可以从Oracle获取值

删除
设置反馈关闭
设置页面大小0
,查看是否出现任何其他错误或反馈。我已通过删除设置参数进行了测试。仍然获取空值。并且没有其他信息?只有空值?只有空行。当我删除-s时,我得到了以下信息。SQL*Plus:Release 10.2.0.3.0-于Wed Feb 12 15:42:31 2020生产版权所有(c)1982,2006,Oracle。版权所有。连接到:Oracle Database 11g Enterprise Edition 11.2.0.2.0版-64位生产,带有分区、OLAP、数据挖掘和实际应用程序测试选项SQL>已断开与Oracle Database 11g Enterprise Edition 11.2.0.2.0版的连接-64位生产,带有分区、OLAP、,数据挖掘和真实应用程序测试选项删除
设置反馈关闭
设置页面大小0
以查看是否出现任何其他错误或反馈。我已通过删除设置参数进行了测试。仍然获取空值。并且没有其他信息?只有空值?只有空行。当我删除-s时,我得到了以下信息。SQL*Plus:Release 10.2.0.3.0-于Wed Feb 12 15:42:31 2020生产版权所有(c)1982,2006,Oracle。版权所有。连接到:Oracle Database 11g Enterprise Edition 11.2.0.2.0版-64位生产,带有分区、OLAP、数据挖掘和实际应用程序测试选项SQL>已断开与Oracle Database 11g Enterprise Edition 11.2.0.2.0版的连接-64位生产,带有分区、OLAP、,数据挖掘和实际应用程序测试选项我做了,但仍然没有得到应有的价值。我认为问题在于服务器或用户配置文件。因为我在另一台服务器上获取同一脚本的值。问题是Unix服务器中的临时空间。临时文件夹已满。清理临时空间后,我可以从Oracle获取值。我已经获取了,但仍然没有获取值。我认为问题在于服务器或用户配置文件。因为我在另一台服务器上获取同一脚本的值。问题是Unix服务器中的临时空间。临时文件夹已满。清理临时空间后,我能够从Oracle获取值。添加了上述语句。仍然获取空行。我在server1中获取输出,但在server2中获取输出。大约一个月前,它还在server2中工作。server2属性中有一些更改。您是否可以登录到sqlplus并发送以下输出:show allSQL>show all;appinfo关闭并设置为“SQL*Plus”arraysize 15 | autocommit OFF | autoprint OFF | autorecovery OFF | autotrace OFF | blockterminator.”(十六进制2e)| btitle OFF,是下一个SELECT语句| cmdsep OFF | colsep“|兼容版本本机| concat.”(十六进制2e)| copycommit 0 | copycheck check处于打开状态| define“&”(十六进制26)| descripe DEPTH 1 LINENUM OFF INDENT ON | echo OFFText太大,无法发送它。添加了上述语句。仍然获取空行。我在server1中获取输出,但在server2中。大约一个月前,它还在server2中工作。server2属性中有一些更改。您是否可以登录到sqlplus并发送以下输出:show allSQL>show all;appinfo关闭并设置为“SQL*Plus”arraysize 15 | autocommit OFF | autoprint OFF | autorecovery OFF | autotrace OFF | blockterminator.”(十六进制2e)| btitle OFF,是下一个SELECT语句| cmdsep OFF | colsep“|兼容版本本机| concat.”(十六进制2e)| copycommit 0 | copycheck check处于打开状态| define“&”(十六进制26)|描述深度1 LINENUM OFF缩进ON | echo OFFText太大,无法发送。