2017-06-23 20 views
-1

我遇到了从sh脚本执行java批处理的麻烦。实质上,我使用了一个sh脚本,它将两个参数(日期)传递给可运行jar文件以更新数据库。执行Java批处理的Oracle无效数字错误

我得到的错误是“ORA-01722:无效数字

我知道脚本和参数,我传递给罐子是一件好事,因为,我从我的电脑指挥。它的工作原理问题是直接从服务器上运行sh时,jar执行的sql也是正常的,因为它直接从我的数据库控制台和我的电脑上的jar中运行。

我正在使用的命令是:java -jar JavaFile.jar 20170101 20170107.

任何想法为什么会发生这种情况?

编辑1:sh包含确切的java句子和jar工作,问题必须是与oracle配置或某种错误有关的东西。

我不能分享很多代码,因为它是保密的。

+0

http://www.dba-oracle.com/sf_ora_01722_invalid_number.htm它可能对您有所帮助。 –

+0

没有更多的上下文来回答这样的问题是不可能的。请分享您的代码。 – Mureinik

+0

Oracle依赖会话设置获取日期和数字的默认格式。可能,您的电脑有其他设置,而不是服务器。也许你需要将这些设置设置为定义好的值,如'alter session set nls_numeric_characters ='。'';' –

回答

1

Oracle依赖于日期和数字的默认格式的会话设置。可能,您的电脑有其他设置,而不是服务器。也许您需要将这些设置设置为明确定义的值,如alter session set nls_numeric_characters='.,';

相关问题