お知らせ下さい。このSQLPlus呼び出し:
SQL > @dba_files_all
...動かない。
SP2-0310:ファイル "dba_files_all.sql"を開けません
エラーを解決するにはどうすればよいですか?
1.絶対パスを使用:
/u01/app/oaracle/test.sql
2.パスをチェックして、スクリプトが存在するかどうかを確認します。
ls -l /u01/app/oaracle/test.sql
呼び出し元の関数と同じフォルダーにあるファイルを実行しようとしたときに、このエラーが発生しました。私の例では、このプロセス:
私の状況での問題は、失敗したフォルダ名に文字(#
)これはWindowsファイル名としては有効ですが、SQL Developerには混乱を招きます。
ファイルのパスを文字列として指定する必要があります。
パスを二重引用符で囲みます。パスは機能します。
例えば:
@"C:\Users\Arpan Saini\Zions R2\Reports Statements and Notices\Patch\08312017_Patch_16.2.3.17\DB Scripts\snsp.sql";
ご了承ください
SQL> @some_file.sql
使用しているSQLアプリが"absolute path"を使用して検索することを意味します。したがって、"relative path"を使用する場合は、次の形式を使用します[追加?]
SQL> @?some_file.sql
それ以外の場合は、最初のコマンドで"full path"を使用します。
oe schemaをロック解除しようとしたときに、同じエラーが発生しました。エラーを読んでいると、次の行を実行すると気づきました。
>SQL @?/demo/schema/order_entry/oe_main.sql
エラーは完全に異なるパスを返しました
SP2-0310: unable to open file "C:/app/USER/product/18.0.0/dbhomeXE/demo/schema/order_entry/oe_main.sql"
したがって、エラーで指定されたパスにSQLファイルをコピーすると、すべてが機能しました。同じことをお勧めします。エラーのパスを確認し、それに応じて調整します。
SP2-031エラーは、ファイルへのPATHを完全に修飾していない場合に発生します。
変数に依存するのではなく、完全修飾パスを指定します。
SQL> @/u01/app/Oracle./scripts/myfile.sql
または、ファイルが存在するディレクトリに移動し、sqlplusを呼び出します。
次の手順に従います。
コマンド:cd C:\ DevPrograms\apex
コマンド:sqlplus
接続が成功すると、それが表示されます
oracle 11gリリース2 ....に接続.
次に、フルパス名で次のコマンドを実行します。
コマンド:@C:\ DevPrograms\apex\apxremov
最後に、次のようなメッセージが表示されます。
....削除されたApplication Express
注:apexins.sql
を実行する前に、このSQL * Plusセッションを終了する必要があります。
これまでのすべての回答は、絶対パスが必要であることを示しています。そうではありません。 SQLの相対パスは、SQLツールではかなり一般的です。この回答で説明されているように、SQLDeveloperの場合など、失われたデフォルト構成を構成する必要がある場合があります。 https://stackoverflow.com/a/24003529/442968