A LOBインタフェースの比較
この項内の表では、8つのLOBプログラム・インタフェースについて、LOBの操作に使用する関数とメソッドをリストして比較しています。表が2つに分かれているのは、単に8つのインタフェースすべてを記載するためです。
BLOBおよびCLOB用のAPI
表A-1 BLOBおよびCLOB (PL/SQL、JDBC、OCI、OCCI)用のAPI
PL/SQL:DBMS_LOB(dbmslob.sql) | JDBC (Java)インタフェースjava.sql.Clobおよびjava.sql.Blob | OCI (C/ocip.h) | OCCI (C++/occiData.h)クラス: ClobおよびBlob |
---|---|---|---|
該当なし | 該当なし | OCILobLocatorIsInit() |
isInitialized() |
ISSECUREFILE |
isSecureFile() |
該当なし | 該当なし |
OPEN |
open() |
OCILobOpen() |
Open() |
ISOPEN |
isOpen() |
OCILobIsOpen() |
isOpen() |
CLOSE |
close() |
OCILobClose() |
Close() |
CREATETEMPORARY |
createTemporary |
OCILobCreateTemporary() |
該当なし |
FREETEMPORARY |
freeTemporary |
OCILobFreeTemporary() |
該当なし |
ISTEMPORARY |
isTemporary |
OCILobIsTemporary() |
該当なし |
GETLENGTH |
length() |
OCIGetLobLength2() |
length() |
GET_STORAGE_LIMIT |
該当なし | OCILobGetStorageLimit() |
該当なし |
GETCHUNKSIZE |
getChunkSize() |
OCILobGetChunkSize() |
getChunkSize() |
READ |
Blob: getBytes() getBinaryStream() |
OciLobRead2() OCILobArrayRead() |
read() |
Clob: getChars() getCharacterStream() getAsciiStream() |
|||
SUBSTR |
getSubString |
該当なし | 該当なし |
INSTR |
position |
該当なし | 該当なし |
該当なし | 該当なし | OCILobCharSetId() |
getCharSetId() (Clob only) |
該当なし | 該当なし | OCILobCharSetForm() |
getCharSetForm (Clob only) |
WRITE |
Blob: setBytes() setBinaryStream() |
OCILobWrite2() OCILobArrayWrite() |
write |
Clob: setString() setCharacterStream() |
|||
WRITEAPPEND |
length() の後でputString() またはputBytes() の使用 |
OCILobWriteAppend2() |
該当なし |
ERASE |
該当なし | OCILobErase2() |
該当なし |
TRIM |
truncate() |
OCILobTrim2() |
trim |
該当なし | equal |
OCILobIsEqual() |
演算子== / != の使用 |
COMPARE |
DBMS_LOB の使用 |
該当なし | 該当なし |
APPEND |
length() の後でputString() またはputBytes() を使用 |
OCILobWriteAppend2() |
該当なし |
COPY |
readおよびwriteを使用 |
OCILobCopy2() |
copy() |
演算子:= の使用 |
演算子= の使用 |
OCILobLocatorAssign() |
演算子= の使用 |
CONVERTTOBLOB |
該当なし | 該当なし | 該当なし |
CONVERTTOCLOB |
該当なし | 該当なし | 該当なし |
該当なし | 該当なし | 該当なし | closeStream() |
GETOPTIONS |
該当なし | OCILobGetOptions() |
getOptions() |
SETOPTIONS |
該当なし | OCILobSetOptions() |
setOptions() |
GETCONTENTTYPE |
該当なし | OciLobGetContentType() |
getContentType() |
SETCONTENTTYPE |
該当なし | OciLobSetContentType() |
setContentType() |
FRAGMENT_DELETE FRAGMENT_INSERT FRAGMENT_MOVE FRAGMENT_REPLACE |
該当なし | 該当なし | 該当なし |
表A-2 BLOBおよびCLOB (PL/SQL、.NET、Pro*C/C++、Pro COBOL)用のAPI
PL/SQL:DBMS_LOB(dbmslob.sql) | ODP.NETクラス: OracleClobおよびOracleBlob | Pro*C/C++およびPro*COBOL |
---|---|---|
OPEN |
BeginChunkWrite |
OPEN |
ISOPEN |
IsInChunkWriteMode |
DESCRIBE [ISOPEN] |
CLOSE |
EndChunkWrite |
CLOSE |
CREATETEMPORARY |
Add() |
CREATE TEMPORARY |
FREETEMPORARY |
Dispose()およびClose() |
FREE TEMPORARY |
ISTEMPORARY |
IsTemporary() |
DESCRIBE [ISTEMPORARY] |
GETLENGTH |
Length() |
DESCRIBE [LENGTH] |
GETCHUNKSIZE |
OptimumChunkSize() |
DESCRIBE [CHUNKSIZE] |
READ |
Value Read |
READ |
INSTR |
Search |
該当なし |
WRITE |
Write |
WRITE |
WRITEAPPEND |
Append |
WRITE APPEND |
ERASE |
Erase |
ERASE |
TRIM |
SetLength |
TRIM |
該当なし | IsEqual |
該当なし |
COMPARE |
Compare |
該当なし |
APPEND |
Append |
APPEND |
COPY |
CopyTo |
COPY |
演算子:= の使用 |
Clone |
ASSIGN |
BFILE用のAPI
表A-3 BFILE (PL/SQL、JDBC、OCI、OCCI)用のAPI
PL/SQL:DBMS_LOB(dbmslob.sql) | JDBC (Java)インタフェースoracle.jdbc.OracleBfile | OCI (C/ociap.h) | OCCI (C++/occiData.h)クラス: Bfile |
---|---|---|---|
FILEEXISTS |
fileExists |
OciLobFileExist() |
fileExists() |
FILEGETNAME |
getDirAlias, getName |
OCILobFileGetName() |
getDirAlias() getFileName() |
SQL BFILENAME operator |
SQL BFILENAME operator |
OCILobFileSetName() |
setName() |
OPEN |
openFile |
OCILobOpen() |
open() |
ISOPEN |
isFileOpen() |
OCILobIsOpen() |
isOpen() |
CLOSE |
closeFile |
OCILobClose() |
close() |
FILECLOSEALL |
DBMS_LOBの使用 |
OCILobFileCloseAll() |
該当なし |
GETLENGTH |
length |
OCILobGetLength2() |
length() |
READ |
getBytes() getBinaryStream() |
OCILobRead() OCILobArrayRead() |
read |
SUBSTR |
getBytes |
該当なし | 該当なし |
INSTR |
position |
該当なし | 該当なし |
演算子:= の使用 |
演算子= の使用 |
OCILobLocatorAssign() |
演算子= の使用 |
LOADCLOBFROMFILE LOADBLOBFROMFILE |
該当なし | OCILobLoadFromFile2() |
Blob.copy() またはClob.copy()
|
COMPARE |
該当なし | 該当なし | 該当なし |
該当なし | equal |
OCILobIsEqual() |
演算子==/!=の使用 |
表A-4 BFILE (PL/SQL、ODP.NET、Pro*C/C++およびPro*COBOL)用のAPI
PL/SQL:DBMS_LOB(dbmslob.sql) | ODP.NETクラス: OracleBfile | Pro*C/C++およびPro*COBOL |
---|---|---|
FILEEXISTS |
FileExists |
DESCRIBE [FILEEXISTS] |
FILEGETNAME |
DirectoryName、Filename |
DESCRIBE [DIRECTORY, FILENAME] |
SQL BFILENAME operator |
DirectoryName、Filename |
FILE SET |
OPEN |
OpenFile |
OPEN |
ISOPEN |
IsOpen() |
DESCRIBE [ISOPEN] |
CLOSE |
CloseFile |
CLOSE |
FILECLOSEALL |
該当なし | FILE CLOSE ALL |
GETLENGTH |
Length |
DESCRIBE [LENGTH] |
READ |
Value,Read |
READ |
SUBSTR |
該当なし | 該当なし |
INSTR |
Search |
該当なし |
演算子:= の使用 |
該当なし | 該当なし |
LOADCLOBFROMFILE LOADBLOBFROMFILE |
該当なし | 該当なし |
COMPARE |
Compare |
該当なし |
該当なし | IsEqual |
該当なし |