Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Why are the catalog tables empty?

112 views
Skip to first unread message

Yavuz_Ulusar

unread,
Oct 10, 2001, 5:00:27 PM10/10/01
to
pbcatcol, pbcattbl, and pbcatvld tables are empty (I checked them in both
Sybase and Oracle databases I am connecting to)

I used to get 'Catalog tables could not be created' error before, because
my user id did not have enough priviliges, so I connected with SYSTEM id
and that message was gone...

but why are these tables still empty?
thanks,

Yavuz.

PS: pbcatfmt and pbcatedt are not empty.
I am using PB 7.0.3

Daniel Coppersmith

unread,
Oct 10, 2001, 4:54:40 PM10/10/01
to
Are you setting the labels, headers, etc. information? That's what is
stored in there.


<Yavuz_Ulusar> wrote in message
news:4D5EF2DC53FEBB0B0073661485256AE1.0073662385256AE1@webforums...

Bug

unread,
Oct 10, 2001, 5:19:58 PM10/10/01
to
To be more specific, pbcatvld stores validation rules, pbcatfmt stores
formats and pbcatedt stores edit masks. These are the things you see
predefined in lists when you set the properties on your datawindows. From
DCoppersmith's reply, I'd assume that pbcatcol stores labels and comments
for your columns and pbcattbl stores 'em for tables. PB needs to have them
there so that it can store stuff if you decide to make stuff. It doesn't
*have* to have anything in it.

Oh, and one other thing... please don't crosspost.

"Daniel Coppersmith" <dan...@N.0.S.P.A.M_infrontsoftware.com> wrote in
message
news:6F75A12D5CB83B780074D970...@webforums.sybase.com.
..

Yavuz_Ulusar

unread,
Oct 10, 2001, 5:53:52 PM10/10/01
to
what about pbcattbl?
Isn't it supposed to list the table name and the owner?
I don't need to set the owner. DB already knows the owner of the table.

Yavuz_Ulusar

unread,
Oct 10, 2001, 5:58:30 PM10/10/01
to
my major problem is that
I am trying to modify a datawindow created with Sybase database connection,
Now I have to add some new columns to that datawindow from a new Oracle
version of that database. But it does not let me...
I thought it was because of catalog tables..
and also Oracle is putting the creator prefix before the table names in the
SELECT query like
SELECT... FROM OBJOWN.AMP
but with Sybase it was SELECT... FROM AMP

I am connecting to both databases with ODBC.

Is this because Sybase and PB belong to the same company. (that's what
Oracle support told me):

Explained to customer that ODBC drivers don't have the ability to
manipulate a query in terms of prefixing a table or view name with a schema
name. The driver takes what it is given by the front-end application, in
this case Powerbuilder. Thus, Powerbuilder is actually prefxing the view
name with the schema name, much in the same way the Microsoft Access does.

I speculated that this may not be happening against the Sybase database
because Powerbuilder is a Sybase product and may be treating Sybase as
somehow "native" or somehow different from third-party databases.

In any case, I recommended ct take up with Sybase why this discrepancy
exists and what needs to be done in the Powerbuilder front-end to resolve
the issue.

Daniel Coppersmith

unread,
Oct 10, 2001, 6:18:28 PM10/10/01
to
Yavuz,

The catalog tables are all optional. You don't need them to do anything in
PowerBuilder. They exist to make your life easier when creating
datawindows. You can set the label names, formats, justification, etc.
once, then everytime you create a datawindow with that column, it will bring
those values in so you don't need to set those on each column in the
datawindow painter each time. This is particularly helpful when your column
name is something like cntc_frst_nme and you want it to show up as "Contact
First Name" on your datawindow.

If you don't want those defaults to carry over, you don't need to set them.

The PBCATTBL is used to hold the name of the table (for use in the database
painter) and font styles and things.

Again, this information is not populated until you enter it yourself and is
optional.

You might be getting the PB catalog tables confused with your system catalog
tables that actually hold the database metadata.

D


<Yavuz_Ulusar> wrote in message
news:ECF788376E53A04D007849D085256AE1.007737C985256AE1@webforums...

Daniel Coppersmith

unread,
Oct 10, 2001, 6:23:33 PM10/10/01
to
> Is this because Sybase and PB belong to the same company. (that's what
> Oracle support told me):

No. I will keep my opinion of Oracle and their support staff to myself
because my Mom taught me if I had nothing nice to say I should shut the hell
up.

Your DBA may not have granted you authority to that table/column. This is
common if he creates it under one schema owner and you connect using a
different owner. Your DBA can create an alias on the extended table/column
name so you can see it without the schema prefix.

Try running a query in the database administrator with the schema prefix on
it and see if it works.

If you plan on switching back and forth between Oracle and Sybase, you'll
want to be able to execute a query against both without your prefix (or have
the prefix in both).

Talk to your DBA, he'll be able to resolve the problem.

D


<Yavuz_Ulusar> wrote in message
news:6FF182787F095ACB0078B68C85256AE1.0078053D85256AE1@webforums...

Adina_Leustean

unread,
Oct 11, 2001, 10:04:03 AM10/11/01
to
Yavuz has showed me your response to our problem report and I would like to
clarify a few things about the issue. When we connect to the Oracle
database through PowerBuilder, we connect as the owner of all tables in the
database. Therefore there should be no issue with privileges. Second, we
also have public synonyms created for each table in the database and
therefore we should have no problems seeing the tables without the owner
prefix even if we did connect as another user. Please let us know if you
have other suggestions regarding this issue.

Thank you!
Adina

Daniel Coppersmith

unread,
Oct 11, 2001, 10:12:04 AM10/11/01
to
Hmmm... try changing the systemowner value in your pbodbxx.ini file under
the appropriate Oracle section...

Are you sure the public synonym is on the column too?

Have you tried to run the query without the owner prefix in SQL*Plus?


<Adina_Leustean> wrote in message
news:D3996E722F09DAF6004D469F85256AE2.007FBB9185256AE1@webforums...

yAVUZ_uLUSAR

unread,
Oct 11, 2001, 10:50:35 AM10/11/01
to
these are the settings for sybase and oracle in the .ini file.
Should I change the system owner to my user id?

QE Oracle7 driver
[ORACLE QEOR706]
PBCatalogOwner='SYSTEM'
PBSystemOwner='SYS'
PBDateTime='NO_MSECS_DATETIME'
IdentifierCase=3
PBParseProcs='NO'
PBSyntax='OR7_Syntax'
PBPrimaryKeyName='YES'

[Sybase SQL Anywhere]
PBSyntax='WATCOM50_SYNTAX'
PBDateTime='STANDARD_DATETIME'
PBFunctions='WATCOM_FUNCTIONS'
PBDefaultValues='autoincrement,current date,cuurrent publisher,current
time,current timestamp,current user,last
user,sqlcode,sqlstate,timestamp,null,user'
PBDefaultCreate='YES'
PBDefaultAlter='YES'
PBDefaultExpressions='YES'
DelimitIdentifier='YES'
PBDateTimeInvalidInSearch='NO'
PBTimeInvalidInSearch='YES'
PBQualifierIsOwner='NO'
PBSpecialDataTypes='WATCOM_SPECIALDATATYPES'
IdentifierQuoteChar='"'
PBSystemOwner='sys,dbo'
PBUseProcOwner='YES'
SQLSrvrTSName='YES'
SQLSrvrTSQuote='YES'
SQLSrvrTSDelimit='YES'
ForeignKeyDeleteRule='Disallow if Dependent Rows Exist (RESTRICT),Delete
any Dependent Rows (CASCADE),Set Dependent Columns to NULL (SET NULL)'
TableListType='GLOBAL TEMPORARY'

I tried it with SQLPLUS, with and without prefix, both work. There is no
problem running with Oracle a datawindow designed with Sybase db
connection.

Daniel Coppersmith

unread,
Oct 11, 2001, 10:46:11 AM10/11/01
to
Give it a shot.

<yAVUZ_uLUSAR> wrote in message
news:687A4F197A1DF58E0051891C85256AE2.005150C785256AE2@webforums...

Yavuz_Ulusar

unread,
Oct 11, 2001, 11:18:13 AM10/11/01
to
ok we solved the problem, it was not related with prefixes, there were some
columns in the query that were not in the new tables anymore so that was
preventing to add new columns...
THANKS for the ideas!!!
0 new messages