sql >> データベース >  >> RDS >> Oracle

plsqlでファイルを書き込もうとしているときに無効なパス

    Oracleでは大文字と小文字が区別されます。ただし、SQLおよびPL / SQLのすべての名前は、二重引用符で囲まれていない限り、自動的に大文字に変換されます。

    だから:

    CREATE DIRECTORY test_dir AS 'c:\';
    

    実際には次のように実行されます:

    CREATE DIRECTORY TEST_DIR AS 'c:\';
    

    したがって、定義したディレクトリはTEST_DIRと呼ばれます。 。 (SQLまたはPL / SQLのシンボル名ではなく)文字列で参照する場合は、'TEST_DIR'を使用する必要があります。 。 'test_dir' 動作しません。

    したがって、試してみてください:

    fileHandler := UTL_FILE.FOPEN('TEST_DIR', 'test_file.txt', 'W');
    



    1. ProtocolViolation:エラー:バインドメッセージは0個のパラメーターを提供しますが、プリペアドステートメントには1個のパラメーターが必要です

    2. 大したこと:SQL Server 2016 Service Pack 1

    3. 一連のSQLステートメントからテーブル名を解析する

    4. Postgresは読み取りアクセスのためにCSVファイルを開くことができません:許可が拒否されました