私はリモートでOracleデータベースにアクセスしています。結果をローカルのcsvファイルにリダイレクトする必要があります。私はいくつかのオプションを設定しています、単純なSQLクエリステートメントと私はローカルファイルにリダイレクトします。 私がやったことを、このlinkとthisに基づいて: "選択" の未知のSETオプション:SP2-0158:私はこのOracleエラーが出ることを行うsqlplusクライアントリモート結果をローカルファイルにリダイレクト
./sqlplus user/[email protected]:1521/SID <<< "SET PAGESIZE 40000 FEEDBACK OFF MARKUP HTML ON select * from mytable where ROWNUM <= 10" >> test_file.xls
。エラーは自明です。私は私の出力をフォーマットするために、これらのset文が必要であることを知っていますSETステートメントを削除するとうまく動作しますが出力されます
出力するには、ファイルがリモートマシン上に生成されるため、私はSPOOLステートメントを挿入しません。
結果をローカルファイルに取得するにはどうすればよいですか?
私はあなただけ 'on'のと' SELECT'の間にセミコロンが必要だと思います。 heredocは管理するのが簡単かもしれません。なぜあなたはリモートマシン上のスプール出力を考えるのですか?それはクライアントコマンドです。 –
@AlexPoole私はこれまでに試したことがあります:SP2-0158:不明なSETオプション ";" – learner