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

信頼できる方法でOracleBLOBを作成/更新するにはどうすればよいですか?

    はるかに簡単です:

    PreparedStatement pstmt =
      conn.prepareStatement("update blob_table set blob = ? where id = ?");
    File blob = new File("/path/to/picture.png");
    FileInputStream in = new FileInputStream(blob);
    
    // the cast to int is necessary because with JDBC 4 there is 
    // also a version of this method with a (int, long) 
    // but that is not implemented by Oracle
    pstmt.setBinaryStream(1, in, (int)blob.length()); 
    
    pstmt.setInt(2, 42);  // set the PK value
    pstmt.executeUpdate();
    conn.commit();
    pstmt.close();
    

    INSERTステートメントを使用する場合も同じように機能します。 empty_blob()は必要ありません および2番目の更新ステートメント。



    1. エラー1022-書き込めません。テーブル内の重複キー

    2. データベースコーナー:Mysqlストレージエンジンの初心者向けガイド

    3. MYSQL-制限によるグループ化

    4. PLS-00221:'C1'(カーソル)がプロシージャではないか、未定義です