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

OracleDBMS_LOBの問題を解決する方法

    リンクしたドキュメント から :

    だからGRUPO 'DIR_XML'に評価する必要があります 'C:\XMLS'ではなく 。これは、そのドキュメントの例に示されています。 (データベースパラメータとして保存されたパスに基づく古いpre-directory-objectメカニズムがありましたが、それは安全性が低くなりました...)

    パスだけがある場合は、ディレクトリ名を検索できます:

    select directory_name from all_directories where directory_path = 'C:\XMLS'
    

    ディレクトリパスは一意である必要はないため、重複を処理する必要がある場合があることに注意してください。

    しかし、@ Matthewがすでに説明したように、そしてドキュメントにあるように (強調を追加):

    データベースは、独自のファイルシステム(ローカルまたは共有)上のファイルのみを表示でき、クライアントファイルシステム上のファイルは表示できません。 DBをローカルでも実行している場合は、違いはありません(ただし、ディレクトリとファイルのアクセス許可は引き続き重要です)。リモートDBにアクセスしている場合、クライアントのC:ドライブは表示されません。ディレクトリオブジェクト名を指定すると、次のようになります。

    ORA-22288: file or LOB operation FILEOPEN failed
    No such file or directory
    

    オペレーティングシステムアカウントがアクセスできるDBサーバー上のディレクトリにXMLファイルを配置し、サーバー上のその場所を指すディレクトリオブジェクトを作成する必要があります。次に、基になるファイルシステムパスではなく、ディレクトリオブジェクト名を参照します。



    1. SQLiteでUnixタイムスタンプを返す2つの方法

    2. UNIONSを使用せずにMySQLで行を列に転置しますか?

    3. C#を使用したmysql日時形式

    4. PHP/MySQLの非表示エラーメッセージ