PBCatalogOwner

Description

Specifies a nondefault owner for the extended attribute system tables. These five tables contain default extended attribute information for your database.

When you specify a PBCatalogOwner name that is different from the default owner for your DBMS, PowerBuilder creates a new set of tables with the owner name you specify.

When to specify PBCatalogOwner

You must specify the PBCatalogOwner parameter before connecting to the database.

Applies to

ADO.NET

ASE and SYC SAP Adaptive Server Enterprise

INF Informix

ODBC

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

PBCatalogOwner='owner_name'

Parameter

Description

owner_name

Specifies the owner of the extended attribute system tables.

For DB2 databases

If you use the DB2SYSPB.SQL script to create the extended attribute system tables in a DB2 database and replace all instances of PBOwner in the script with the name of a nondefault table owner, owner_name must be the same as the owner specified in the DB2SYSPB.SQL script.


Default value

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

DBMS

PBCatalogOwner default value

ADO.NET

If a value for PBCatalogOwner is not specified in the database profile or in the registry, the default value is the user ID specified in the database profile.

Informix

PBCatalogOwner='informix'

ODBC

If a value for PBCatalogOwner is not specified in the database profile or in the PBODBn0 initialization file, the default value is the user ID specified in the database profile.

OLE DB

If a value for PBCatalogOwner is not specified in the database profile or in the registry, the default value is the user ID specified in the database profile.

Oracle

PBCatalogOwner='SYSTEM'

SNC

PBCatalogOwner='dbo'

MSOLEDBSQL

PBCatalogOwner='dbo'

SAP Adaptive Server Enterprise

PBCatalogOwner='dbo'


Usage

When to set

When you specify a nondefault owner for the extended attribute system tables, you are in effect creating alternative tables. This is useful if you want to test new validation rules or display formats without overwriting the extended attributes currently in the default tables.

Informix databases

For ANSI-compliant databases, the owner name that you specify must be unique but the table name does not have to be unique. You can create multiple sets of catalog tables prefaced with different user names. However, if the database is not ANSI-compliant, the table name must be unique, so that only one set of catalog tables can be created with an assigned owner name.

ODBC data sources

When you connect to an ODBC data source and a value for PBCatalogOwner is set in both the database profile and the PBODB initialization file, the setting in the profile overrides the setting in the PBODB initialization file.

DB2 databases

When you connect to a DB2 database, you can use the DB2SYSPB.SQL script to create the extended attribute system tables. If you use the DB2SYSPB.SQL script, keep the following in mind:

  • You can edit the script to change all instances of PBOwner to another name, or leave the table owner as PBOwner in the script (the default).

    Specifying SYSIBM is prohibited

    DB2 prohibits you from specifying SYSIBM as the table owner.

  • You can set the PBCatalogOwner parameter to the owner you specified in this script or to PBOwner if you did not edit the script.

    This parameter cannot be set dynamically. The value set when the connection is made remains in effect until it is disconnected.

Examples

This example shows how to create a new set of extended attribute system tables with the owner TEST. The names of the new tables have the prefix TEST, such as TEST.pbcatcol, TEST.pbcatedt, and so on.

  • Database profile

    Type the following in the PB Catalog Table Owner box on the System page in the Database Profile Setup dialog box:

    TEST
  • Application

    Type the following in code:

    SQLCA.DBParm="PBCatalogOwner='TEST'"