Skip Headers

Oracle® Objects for OLE Developer's Guide
10g Release 1 (10.1)

Part Number B10118-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Master Index
Master Index
Go to Feedback page
Feedback

Example: Single piece Write of a LOB

Schema Description

Dim OraSession As OraSession

Dim OraDatabase As OraDatabase

Dim PartImage As OraBlob

Dim buffer() As Byte

'Create the OraSession Object.

Set OraSession = CreateObject("OracleInProcServer.XOraSession")

'Create the OraDatabase Object.

Set OraDatabase = OraSession.OpenDatabase("ExampleDb",

"scott/tiger", 0&)

'Add PartDesc as an Output parameter and set its initial value.

OraDatabase.Parameters.Add "PartImage", Null, ORAPARM_OUTPUT

OraDatabase.Parameters("PartImage").ServerType = ORATYPE_BLOB

'Begin the transaction

OraSession.BeginTrans

'Execute the statement returning 'PartDesc'

OraDatabase.ExecuteSQL ("BEGIN select part_image into :PARTIMAGE

from part where part_id = 1

for update NOWAIT; END;")

'Get 'PartDesc' from Parameters collection

Set PartImage = OraDatabase.Parameters("PartImage").Value

'Get a free file number

FNum = FreeFile

'Open the file.

Open "PartImage.Dat" For Binary As #FNum

'Re adjust the buffer size to hold entire file data

ReDim buffer(LOF(FNum))

Get #FNum, , buffer

'Do one write operation

amount_written = PartImage.Write(buffer)

Close FNum

MsgBox "Amount written to the LOB data is " & amount_written

'Ends the transaction

OraSession.CommitTrans