1.オラクルに接続

2.テーブルの作成
create table blob_test(blob_id number(4,0) primary key,blob_fld blob);

3.テストコードのコンパイル

Imports Oracle.DataAccess.Client
Imports Oracle.DataAccess.Types
Public Class Form1
'バイナリデータ入力(テスト用)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fs As New System.IO.FileStream("c:\temp\odp.bmp", _
IO.FileMode.Open, IO.FileAccess.Read)
Dim blobData(fs.Length) As Byte
fs.Read(blobData, 0, fs.Length)
Dim cnn As New OracleConnection( _
"user id=rcs;password=rcs;data source=")
Dim strSql As String = _
"insert into blob_test(blob_id, blob_fld) " & _
"values(1, :blobdata)" Dim cmd As New OracleCommand(strSql, cnn)
cnn.Open()
Dim pBlob As OracleParameter = _
cmd.Parameters.Add("blobdata", OracleDbType.Blob)
pBlob.Value = blobData
cmd.ExecuteNonQuery()
End Sub
'バイナリデータ出力(テスト用)
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim cnn As New OracleConnection( _
"user id=rcs;password=rcs;data source=")
Dim strSql As String = _
"select blob_fld from blob_test where blob_id=1"
Dim cmd As New OracleCommand(strSql, cnn)
cnn.Open()
Dim dr As OracleDataReader = cmd.ExecuteReader
If dr.Read Then
Dim blob As OracleBlob = dr.GetOracleBlob(0)
Dim ms As New System.IO.MemoryStream(blob.Value)
PictureBox1.Image = New Bitmap(ms)
End If
End Sub
End Class

インサート分参考
CREATE TABLE TBL_ZAISEKI(
ID NUMBER ( 6)
,NAME CHAR (10) not null
,BIRTH DATE not null
,KINMUNO NUMBER ( 6)
,MEMO CHAR (100)
,PRIMARY KEY(NAME)
);
insert into TBL_ZAISEKI(NAME,BIRTH,KINMUNO) values ('内田',TO_TIMESTAMP('19991118', 'YYYY/MM/DD/HH24:MI:SS'),4);
DELETE FROM TBL_ZAISEKI WHERE NAME = '内田';
'氏名' '生年月日' '' '事業所' '入職日' '退職日' '在職確認' '2007/8/2' '181'
'ああ ああ' '昭和38年11月14日' '' 'ABC工業' '平成16年2月13日' '' 'あり' '' ''

 

Home