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'"