4D for OCI - 修正された問題 (2)

IDACI0040707 日付05/11/16
製品4D for OCI ステータスFixed and Shipped
バージョン2003.7 プラットフォーム Mac / Windows
概要Writing data in a LONG RAW column
説明 4D for OCI 2004.2および2003.xでは、LONG RAWのOracleカラムにデータを書き込むことができませんでした。
OCIStmtExecute()コマンドでフリーズすることがありました。
この問題は4D for OCI 2004.3、2003.7で修正されました。
次のようにOCIBindByPos()コマンドを使用することができます。
$status:=OCIBindByPos(Stmthp;Definehp;Errhp;1;->MonBlob;SQLT_LBI;->vl_Null1;->vTailleDeMonBlob;->vl_Null3;OCI_DATA_AT_EXEC)

IDACI0041767 日付06/02/15
製品4D for OCI ステータスFixed and Shipped
バージョン2003.7 プラットフォーム Windows
概要Bind and Define with an Oracle LONG column
説明 4D for OCI 2004.3および2003.6では、LONGのOracleカラムをバインドすることができませんでした。 .
4D for OCI 2003.7および2004.4では、OCI定数SQLT_LNGが使用できるようになりました。
定数SQLT_LBIはLONG RAWのOracleカラムに対して使用されます。

以下はバインド操作の例です:

`/4D Code
OCIBindByPos(HStmt;HBind;HErr;ColNo;->MyBlob;SQLT_LNG;->ind1;->ind2;->ind3;OCI_DATA_AT_EXEC)
status:=OCIStmtExecute (HConn;HStmt;HErr;1;0;0;0;OCI_DEFAULT )
`/4D Code

非同期モード (OCI_STILL_PROCESSING)の場合を除き、OCIStmtExecuteをループでコールする必要はありません。

以下は定義操作の例です:

`/4D Code
OCIDefineByPos (HStmt;HDefine;HErr;ColNo;->MyBlob;SQLT_LNG ;->Ind1;->Ind2;->Ind3;OCI_DYNAMIC_FETCH )
status:=OCIStmtExecute (HConn;HStmt;HErr;nb_rows;0;0;0;OCI_DEFAULT )
status:=OCIStmtFetch (HStmt;HErr;$buffersize)
`/4D Code