OraSetBinary Function

Action

Assigns binary data to the program variable that is bound to the specified place holder in the SQL statement or PL/SQL block. The place holder is identified by the name or the number specified in the SQL statement or PL/SQL block. This function is used to assign values to both scalar and array program variables.

Using this function, any data type listed below can be assigned to the program variable that is bound to the specified place holder:

  • SQLT_NUM
  • SQLT_VNU
  • SQLT_RID
  • SQLT_DAT
  • SQLT_VBI
  • SQLT_BIN
  • SQLT_LBI
  • SQLT_LVB
  • SQLT_CUR

Include file

Ora.bdh

Syntax

OraSetBinary( in cCursor : cursor,
              in sSqlVar : string,
              in sBinary : string,
              in nLength : number,
              in nIndex  : number optional ): boolean;

Return value

  • true if successful

  • false otherwise. In this case, you can use the OraOciError function to retrieve the Oracle OCI error code

Parameter Description
cCursor Cursor associated with a database connection
sSqlVar Name of the place holder in the SQL statement or PL/SQL block. This parameter must include the preceding colon identifying it as a place holder
sBinary Binary data that is assigned to the program variable that is bound to the specified place holder in the SQL statement or PL/SQL block
nLength Length of the binary data block (in bytes)
nIndex Array index (optional). For array binding operations, this parameter specifies the array index of the program variable

Example

var
  hConnection : number;
  cCursor     : cursor;
dcltrans
  transaction TMain
  const
    PUBLIC_KEY := "\h59b20094...";
  begin
    OraLogon(hConnection, "user", "password", "orclnet2");
    OraOpen(cCursor, hConnection);
    OraParse(cCursor, sqlInsert);
    OraBind(cCursor, ":name", SQLT_CHR, 32);
    OraBind(cCursor, ":key", SQLT_BIN, 64);
    OraSetString(cCursor, ":name", "Michael");
    OraSetBinary(cCursor, ":key", PUBLIC_KEY, STRING_COMPLETE);
    OraExec(cCursor);
    OraClose(cCursor);
    OraLogoff(hConnection);
  end TMain;
dclsql
  sqlInsert:
    INSERT INTO keys (name, key) VALUES (:name, :key);