私はしばらくの間sqlplusをいじっていましたが、sqlplusでファイルの内容を次のように置換変数に読み込むことができました。
exit | sqlplus -s login/pass@db @script.sql "`cat file.txt`"
これは、私のスクリプトが必要とするようにほとんど機能します...ファイル内の改行も保持されます。ただし、サイズが 50 または 60 バイトのサンプル ファイルのみを使用していました。最終的に使用する実際のファイルは、少なくとも数キロバイトになります。そのため、この時点で、置換変数の最大サイズ (240 文字) を確認することにしました。
sqlplus スクリプト内でファイルの内容をバインド変数に読み込む方法はありますか? Oracle のドキュメントでは、GET コマンドを使用してこれを示唆しているようで、通常、これは sql/sqlplus スクリプトをロードするためだけに使用すると述べています。
http://docs.oracle.com/cd/B10501_01/server.920/a90842/ch13.htm#1009882
file_name[.ext] ロードするファイル (通常はスクリプト) を表します。