ksh スクリプトを使用して Oracle データベースに接続しようとしています。これをプロンプトから直接実行すると、機能します。しかし、スクリプト (abc.sh) 内に配置すると失敗します。以下は私がスクリプトに入れたものです(短くするために編集されています):
abc はユーザー名で、abc$123 はデータベース DBNAME にアクセスできるユーザーのパスワードです。
#!/usr/bin/ksh
sqlplus -s /nolog << EOF > output
connect abc/abc$123@DBNAME;
set echo off
set heading off
select table_name from dba_tables;
exit;
EOF
これは直接入力すると機能しますが、./abc.sh として実行するとエラーが発生します -
ERROR ORA-01017: invalid username/password; logon denied
簡単なものが欠けていると確信していますが、これを理解できません。ご協力いただきありがとうございます。