zoukankan      html  css  js  c++  java
  • 【Oracle】BLOB

    1.データベースからの読み込み
    Dim strSql As String = "select IMG from TBL where ID=XX"
    Dim cmd As New OracleCommand(strSql, cnn)
    Dim dr As OracleDataReader = cmd.ExecuteReader

    'BLOBデータの読み込み
    If dr.Read Then
    Dim blob As OracleBlob = dr.GetOracleBlob(0)
    Dim ms As New System.IO.MemoryStream(blob.Value)
    'MemoryStreamに読み込んだBLOBデータをファイルに書き出し
    System.IO.File.WriteAllBytes(sCImgPath_Temp, ms.ToArray())
    Else
    Call WriteLineTime("該当するイメージファイルが見つかりません。")
    Exit Sub
    End If

    cmd.Dispose()

    2.データベースへの書き込み
    'ファイルのデータをByte配列に読込
    Dim fs As New System.IO.FileStream(sCImgPath_New, IO.FileMode.Open, IO.FileAccess.Read)
    Dim blobData(fs.Length) As Byte
    fs.Read(blobData, 0, fs.Length)

    'SQLの設定(BLOBのデータはバインド変数「:blobdata」としておく)
    Dim strUpdateSql As String= "update tbl set IMG =:blobdata where id=XX"

    cnn.BeginTransaction()
    'BLOBのデータを設定
    Dim Updatecmd As New OracleCommand(strUpdateSql, cnn)
    Dim pBlob As OracleParameter = Updatecmd.Parameters.Add("blobdata", OracleDbType.Blob)
    pBlob.Value = blobData

    'SQLの実行(戻り値はUpdateの対象行数)
    Dim retCols As Long = Updatecmd.ExecuteNonQuery()
    Updatecmd.Transaction.Commit()
    Updatecmd.Dispose()

  • 相关阅读:
    平均要取多少个(0,1)中的随机数才能让和超过1
    perl学习笔记
    K-means
    Mysql数据库常用操作整理
    ETL模型设计
    c++ 面试整理
    vim display line number
    inux 下的/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 文件的作用
    Linux命令大总结
    perl learning
  • 原文地址:https://www.cnblogs.com/sekihin/p/4904104.html
Copyright © 2011-2022 走看看