使用方法
OraBlob.CopyFromFile "blob.bmp" amount, offset, chunksize OraClob.CopyFromFile "clob.txt" amount, offset, chunksize
引数
このメソッドの引数は、次のとおりです。
引数 | 説明 |
---|---|
[in ] filename |
読み取るファイルの絶対パスとファイル名を指定する文字列。 |
[in ] [オプション] amount |
コピーする最大バイト数を指定するためのInteger 。デフォルト値は、総ファイル・サイズです。 |
[in ] [オプション] offset |
このオブジェクトのBLOB またはCLOB 値の絶対オフセットを指定するためのInteger で、OraBLOB またはOraBFILE の場合はバイト数、OraCLOB の場合は文字数を示します。デフォルト値は1 です。 |
[in ] [オプション] chunksize |
各読込み操作に対するサイズをバイトで指定するためのInteger 。chunksize パラメータが設定されていないか0 の場合、amount 引数の値が使用され、その量すべてが1つのチャンクで転送されます。 |
備考
このメソッドのコール前に、行レベルまたはオブジェクト・レベルでロックを取得する必要があります。
ファイルは、NLS_LANG
設定と同じ書式である必要があります。
注意: Write やCopyFromFile など、LOBのメソッドを使用したLOBの操作では、古いデータと比較して新しいデータが短い場合、LOBオブジェクトは自動的に切り捨てられません。LOBオブジェクトを新しいデータのサイズに縮小するには、Trim (OraLOB)メソッドを使用します。 |
例
例: CopyFromFileメソッドの使用方法
この例では、CopyFromFile
メソッドの使用方法を示します。
データベースにPART
表があり、その表に有効なLOBデータが含まれていることを確認してください。また、「LOBデータ型の例で使用されているスキーマ・オブジェクト」の説明に従ってOraLOBスキーマ・オブジェクトをインストールしていることを確認してください。
Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim PartImage as OraBLOB 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'Create a Dynaset containing a BLOB and a CLOB column set part = OraDatabase.CreateDynaset ("select * from part where" & _ "part_id = 1234",0) set PartImage = part.Fields("part_image").Value 'copy the entire content of partimage.jpg file to LOBS part.Edit PartImage.CopyFromFile "partimage.jpg" part.Update