DelimitIdentifier

Description

Specifies whether you want PowerBuilder to enclose the names of tables, columns, indexes, and constraints in double quotes when it generates SQL statements. This affects the behavior of any PowerBuilder painter that generates SQL syntax.

Applies to

ADO.NET

ASE, SYC SAP Adaptive Server Enterprise

I10 Informix

IN9 Informix

ODBC (if driver and back-end DBMS support this feature)

OLE DB

O90 Oracle9i

O10 Oracle 10g

ORA Oracle (for 11g and later)

SNC SQL Native Client for Microsoft SQL Server

MSOLEDBSQL Microsoft OLE DB Driver for SQL Server

Syntax

DelimitIdentifier='value'

Parameter

Description

value

Specifies whether you want PowerBuilder to enclose table and column names in double quotes. Values are:

  • Yes

    Use double quotes

  • No

    Do not use double quotes


Default value

The default value for the DelimitIdentifier parameter depends on the DBMS you are accessing, as follows:

DBMS

DelimitIdentifer default value

ADO.NET

DelimitIdentifier='Yes' for SQL Anywhere, Oracle, and DB2, 'No' for all other DBMSs.

Informix

DelimitIdentifier='No'

ODBC

Depends on the DelimitIdentifer setting in the PBODB initialization file

Oracle

DelimitIdentifier='Yes'

OLE DB

Depends on the DelimitIdentifer setting in the PBODB initialization file

SNC

DelimitIdentifier='No'

MSOLEDBSQL

DelimitIdentifier='No'

SAP Adaptive Server Enterprise

DelimitIdentifier='No'


Usage

Informix

Informix database servers can create a log of database transactions in either ASCII or non-ASCII format. If the database is creating a non-ASCII log, the setting of the DelimitIdentifier is optional. If the database is creating an ASCII log, you must set DelimitIdentifier='Yes' to make the SQL syntax generated by PowerBuilder behave as expected.

SAP Adaptive Server Enterprise

When you set DelimitIdentifier to 'Yes', the "set quoted_identifier on" command is automatically sent to Adaptive Server to adjust your database connection on the server. Otherwise, the "set quoted_identifier off" command is sent to the server. This feature occurs with ASE, SYC, ODBC, and OLE DB interfaces.

Microsoft SQL Server

When you set DelimitIdentifier to 'Yes', the "set quoted_identifier on" command is automatically sent to Microsoft SQL Server to adjust your database connection on the server when you use ODBC or OLE DB. Otherwise, the "set quoted_identifier off" command is sent to the server.

Sending "set quoted_identifier off" to the server can cause some SQL commands to fail if the SQL code contains quotation marks. To prevent PowerBuilder from sending this instruction to the server, set the DelimitIdentifierToDB parameter to "No" in the PBODB initialization file or the connection string.

ODBC

The DelimitIdentifier parameter setting overrides the DelimitIdentifier setting specified for your ODBC driver in the PBODB initialization file.

Examples

To specify that PowerBuilder should not enclose table and column names in double quotes when it generates SQL statements:

  • Database profile

    Clear the Enclose Table And Column Names In Quotes check box on the Syntax page in the Database Profile Setup dialog box.

  • Application

    Type the following in code:

    SQLCA.DBParm="Delimitidentifier='No'"

See also

DelimitIdentifierToDB