Specifies whether PowerBuilder binds string variables in a program to an internal variable with the Oracle Char or Oracle NChar datatype.
ADO.NET (Oracle.DataAccess.Client only)
O90 Oracle9i
O10 Oracle 10g
NCharBind=value
Parameter |
Description |
---|---|
value |
Specifies whether PowerBuilder binds string variables in a program to an internal variable with the Char or NChar datatype. Values are:
|
NCharBind=0
By default, the Oracle drivers and the ADO.NET driver with the Oracle Data Provider for .NET (ODP.NET) bind the string parameters in statements such as the following as Char datatypes:
dw_1.Retrieve("stringvalue") // Modify data in a DataWindow, then dw_1.Update() // updating string value
// embedded SQL update tbl set col1=:strVar1 where col2=:strVar2;
If the string parameters have NChar or NVarChar2 datatypes, set the NCharBind database parameter to 1 before executing statements like these. NCharBind is a dynamic parameter that can be set at any time.
With NCharBind=1, the Oracle drivers bind all string parameters to internal variables with the NChar datatype. If the string parameters are a mix of Char and NChar or NVarChar2 datatypes, set NcharBind=1 to ensure that the NChar data is bound correctly. If all string parameters have a Char datatype, set NcharBind=0 (the default), because binding a Char variable as an NChar datatype substantially downgrades the Oracle database driver's performance.
If you need NChar support in the development environment, set NCharBind to 1 to ensure that NChar data is processed correctly. At runtime, set NCharBind dynamically to avoid a downgrade in performance. Set NCharBind to 1 before processing NChar or NVarChar2 data, then reset it to 0.
You must also make sure that NCharBind is set correctly when you update data with the Oracle LONG, CLOB, or NCLOB datatype using a DataWindow object or embedded SQL INSERT and UPDATE statements. If the datatype is LONG or CLOB, set NCharBind to 0. If the datatype is NCLOB, set NCharBind to 1. If NCharBind is not set correctly, incorrect data will be updated to the database. The setting of NCharBind does not affect UPDATEBLOB statements.
To specify that string arguments should be bound as the NChar datatype:
Database profile Select the NChar Bind box on the Transaction page in the Database Profile Setup dialog box.
Application Type the following in code:
SQLCA.DBParm="NCharBind=1"