Access (VBA)

Access VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 7全般 : Access 2016)
PostgreSQLの"bytea[]型"にイメージデータを格納したい
投稿日時: 18/01/18 01:06:58
投稿者: ゆっきー

AccessのVBAで"添付ファイル型"のフィールドに格納されているイメージデータを
PostgreSQLの"bytea[]型"に格納したいのですが、うまくいきません。
格納方法が間違っているのでしょうか?
(PostgreSQL側のテキスト型や数値型のフィールドへのデータ更新については、確認できているので、
 接続方法等は間違っていないと思うのですが...)
※PostgreSQLにレコードを追加し、フィールド名"イメージデータ"(bytea[]型)ヘイメージデータを格納しています。
※DAOを使用してもダメでした
 
Access Version:2016
PostgreSQL Version:9.1.3
 
    Dim CN As Object
    Dim RS As Object
    Dim SQL As String
 
    Dim ac_RS As DAO.Recordset
    
    
    'PostgreSQLの接続
    Set CN = CreateObject("ADODB.Connection")
    CN.Open 接続文字列
    Set RS = CreateObject("ADODB.Recordset")
    SQL = "SELECT * FROM PostgreSQL側のテーブル"
    RS.Open SQL, CN, adOpenKeyset, adLockOptimistic
 
    'アクセスのRecordsetオブジェクトを作成
    Set ac_RS = CurrentDb.OpenRecordset("Access側のテーブル名")
 
    'アクセス側テーブルのレコード数分ループ
    Do Until ac_RS.EOF
        'PostgreSQLにレコード追加
        RS.AddNew
 
        '添付ファイル型フィールド
        Dim ac_RS2 As Recordset2
        set ac_RS2 = ac_RS.Fields("イメージデータ").Value
        'イメージデータを取り出す
        Dim byteImage() As Byte
        Dim nSize As Long
         nSize = ac_RS2.Fields("FileData").fieldSize
        byteImage() = ac_RS2.Fields("FileData").GetChunk(0, nSize)
 
        'PostgreSQLのテーブル更新
        RS.Fields("イメージデータ").AppendChunk byteImage()   '← ここでエラー「このコンテキストで操作は許可されていません。」
 
        RS.Update
        ac_RS.MoveNext
 
    Loop
 
     
    '終了
    RS.Close: Set RS = Nothing
    CN.Close: Set CN = Nothing

トピックに返信