0

以下に示すように、Java クラスを介して呼び出されたプロシージャーからシェル スクリプトにパラメーターを渡すことができません。シェル スクリプトで Java の代わりにプロシージャー コードを使用することはできません。このスクリプトは多くの地域で使用され、DB 資格情報が異なるためです。 .誰かがこれについて私を助けることができます.

#!/bin/ksh
# Setup common environment
. `dirname $0`/db_env.sh

SP_NAME=P_MNR_EE_TMP_CHK
SP_SCHEMA_PROP=utils.miner.user
DB_USER_PROP=utils.miner.user
DB_PASSWD_PROP=utils.miner.password


$JAVA -classpath $CLASSPATH -DCONFIGDIR=${CONFIGDIR} com.mantas.dbtools.util.RunStoredProcedure $DB_USER_PROP $DB_PASSWD_PROP $SP_SCHEMA_PROP $SP_NAME
return $?
4

1 に答える 1

0

1 つの回避策は、コンソール (Java アプリ内) にパラメーターを出力してから、次のようなものを使用することです。

out=`$JAVA -classpath $CLASSPATH -DCONFIGDIR=${CONFIGDIR} com.mantas.dbtools.util.RunStoredProcedure $DB_USER_PROP $DB_PASSWD_PROP $SP_SCHEMA_PROP $SP_NAME`

return $out
于 2013-07-10T13:11:15.860 に答える