Symfoware

Symfowareについての考察blog

DB2 10.5にPythonから画像データを登録する(ibm_db使用)

Ubuntuにibm_dbをインストールして、PythonからDB2に接続してみました。
DB2 10.5 Express-CにUbuntu + Pythonから接続する(ibm_db使用)

今回は、画像データをBLOB列に登録してみます。


テーブルの準備



画像データ登録用に、こんなテーブルを作成しておきました。


CREATE TABLE test(image BLOB)







画像の登録



ibm_db_dbiを使用してお手軽に登録出来ました。
デフォルトでオートコミットfalseなので、最後のcommitを忘れずに。


  1. # -*- coding:utf-8 -*-
  2. import ibm_db_dbi
  3. con = ibm_db_dbi.connect("DATABASE=sample;HOSTNAME=192.168.1.103;","db2inst1","P@ssw0rd")
  4. # カーソル取得
  5. cur = con.cursor()
  6. # 画像データ取得
  7. f = open('Lenna.jpg', 'rb')
  8. bytes = f.read()
  9. f.close()
  10. # 登録実行
  11. cur.execute(u"INSERT INTO test (image) VALUES (?)", [bytes])
  12. con.commit()






画像の取得



登録したデータを復元してみます。


  1. # -*- coding:utf-8 -*-
  2. import ibm_db_dbi
  3. con = ibm_db_dbi.connect("DATABASE=sample;HOSTNAME=192.168.1.103;","db2inst1","P@ssw0rd")
  4. # カーソル取得
  5. cur = con.cursor()
  6. cur.execute(u"SELECT image FROM test")
  7. row = cur.fetchone()
  8. f = open('result.jpg', 'wb')
  9. f.write(row[0])
  10. f.close()





ちゃんと復元出来ました。


373_01.png


関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2014/03/16(日) 10:58:10|
  2. DB2
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<DB2 10.5にPythonからXML列へデータを登録する(ibm_db使用) | ホーム | DB2 10.5のXML列にJavaからデータの検索を行うサンプル>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1342-0a99916c
この記事にトラックバックする(FC2ブログユーザー)