Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
Oracle Shell脚本&;存储过程-文字格式错误_Oracle_Shell_Stored Procedures - Fatal编程技术网

Oracle Shell脚本&;存储过程-文字格式错误

Oracle Shell脚本&;存储过程-文字格式错误,oracle,shell,stored-procedures,Oracle,Shell,Stored Procedures,我有一个调用Oracle存储过程的shell脚本。SP有两个参数-第一个是VARCHAR2类型,第二个是DATE类型 CREATE OR REPLACE PROCEDURE MY_SCHEMA.MY_SP_NAME(firstParameter IN VARCHAR2, dateParameter IN DATE) IS BEGIN DBMS_OUTPUT.PUT_LINE('Successfully called Procedure'); END; / 在我的shell脚本中,

我有一个调用Oracle存储过程的shell脚本。SP有两个参数-第一个是VARCHAR2类型,第二个是DATE类型

CREATE OR REPLACE PROCEDURE MY_SCHEMA.MY_SP_NAME(firstParameter IN VARCHAR2, dateParameter IN DATE)
IS

BEGIN

    DBMS_OUTPUT.PUT_LINE('Successfully called Procedure');

END;
/
在我的shell脚本中,我尝试使用以下命令执行该过程:

echo "EXECUTE MY_SCHEMA.MY_SP_NAME('TEST', '20170909') " | $ORACLE_HOME/bin/sqlplus $ORAUSER/$ORAPASS   
问题是,当脚本运行时,我得到以下错误:ORA-01861:literal与格式字符串不匹配。我猜传递给date参数的'20170809'值有问题,但我不确定如何解决这个问题。感谢您的帮助


(注意:ORACLE_HOME/USER/PASS环境变量都设置正确,我可以从脚本成功运行SQLPLUS,因此连接到ORACLE数据库时不会出现问题)

您可以尝试使用
to_date
功能:

Execute my_schema.my_sp_name(‘test’,to_date(‘20170909’, ‘yyyymmdd’))
或者在日期参数中使用ISO日期格式。

请尝试
。。。(“测试”,日期“2017-09-09”)
。它用于日期,不取决于本地设置。