1. John Fauss
  2. PowerBuilder
  3. Friday, 14 August 2020 14:23 PM UTC

I realize that the prescribed technique for creating the Extended Attribute system tables (pbcatcol, pbcatedt, pbcatfmt, pbcattbl & pbcatvld) is to allow PB to do this auto-magically the first time a connection is made to the database via the Database Painter. However, yesterday's posting from Olan Knight about creating these tables in a PostgreSQL database, as well as similar questions from others that appear here from time to time have made me wonder "what alternative is there when the prescribed process doesn't work?"... because it does not always work.

To be clear: I am not experiencing this issue at this time. It just seems to be a process that is subject to failure on occasion.

I presume there are SQL scripts that PB runs to create and configure these tables. If so, where do they reside and why are they not listed and briefly explained in the product documentation? If not, shouldn't they exist and be documented so that we could troubleshoot and resolve an issue when it occurs? I've coded similar scripts for various databases over my career, and it's not rocket science.

Kai Zhao @Appeon Accepted Answer Pending Moderation
  1. Saturday, 15 August 2020 02:06 AM UTC
  2. PowerBuilder
  3. # 1

Hi John,

The DB2SYSPB.SQL script is in the Server directory in the PowerBuilder setup program. This directory contains server-side installation components and is not installed with PowerBuilder on your computer. You can use the attached one.

Please refer to article below for details.
https://docs.appeon.com/pb2019r2/connecting_to_your_database/ch12s07.html#XREF_40958_Using_the_DB2SYSPB

Regards,
ZhaoKai

Attachments (1)
Comment
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Friday, 14 August 2020 23:26 PM UTC
  2. PowerBuilder
  3. # 2

Hi John;

 I always just let a DBA log into a new Database once using the PB DB Painter with their DB credentials. That lets the IDE create the PBCATxxx tables. Once that is done, all PB developers will have proper access.

HTH

Regards ... Chris

Comment
There are no comments made yet.
Olan Knight Accepted Answer Pending Moderation
  1. Friday, 14 August 2020 16:38 PM UTC
  2. PowerBuilder
  3. # 3

FYI -

   I have attached the DB2SYSPB.SQL file that creates the PB Catalog tables in a database script.

1.  Remove the ".pdf" suffix from the file.

2.  In the script, replace ALL "PBOwner" to whatever your database requires.
     Then replace ALL "tablespace" lines with
whatever your database requires.

3.  Using an account with DBA privileges, run the DB2SYSPB.SQL script against your database.


Later -

Olan

Attachments (1)
Comment
  1. John Fauss
  2. Friday, 14 August 2020 18:28 PM UTC
Hi, Olan - Thank you for responding! Your response along with the information that Govinda conveyed in his response is almost exactly what I would like to or expect to see in the PB Help (oh, wait, there's nothing at all in PB Help regarding the extended attribute system tables) or in the PB documentation IF I were dealing with this kind of issue, which as I stated, I'm not. I don't do PostgreSQL nor I utilize the PB Catalog, I only saw this as one example where better communication between Appeon and PB developers could be improvied. Your participation is appreciated!
  1. Helpful
There are no comments made yet.
Govinda Lopez @Appeon Accepted Answer Pending Moderation
  1. Friday, 14 August 2020 15:55 PM UTC
  2. PowerBuilder
  3. # 4

Hi John,

 

The Extended Attribute System Tables are meant to store application-based information. These tables are created by an internal PB mechanism. The creation of such tables should be automatic. If this doesn't happen, please open a support ticket so we can look into it. Meanwhile, we do have a script available for creating these tables but it is for DB2. The name of the script is: DB2SYSPB.SQL Script . If you want, you can use this script and modify it for PostgreSQL, or you can raise a ticket and see if we can provide you with a specific script for PostgreSQL.

 

There are a number of reasons that these tables might have not been created. One of them is having set the wrong preferences in the Database Preferences dialog box. You can take a look herehere and here to see if this is your case. Or perhaps the PB Catalog Owner, see here. If none of this are your case, please do open the support ticket.

 

I hope this is of help!

 

 

Regards,

Comment
  1. John Fauss
  2. Friday, 14 August 2020 18:14 PM UTC
Thank you for responding, Govinda. The last paragraph in your response reinforces the point I'm trying to make. I'm not saying that trying to automatically create these tables is a bad thing... only that is doesn't always work and when that happens, we (reasonably) smart, talented, and resourceful developers are effectively reduced to opening a support incident - which we would need or have to if we're supplied with the information you conveyed in the first paragraph of your response. I've seen the write-up in the documentation regarding the work-around for the DB2 environment, but given that it's specifically described as a DB2 work-around, I would not initially be inclined to consider it as a possible work-around for other DBMS's.

Thanks again!
  1. Helpful
  1. Olan Knight
  2. Friday, 14 August 2020 19:25 PM UTC
You are most welcome! This forum helps me as much or more than I try to help others.

That'swhat makes it so useful, helpful, and fun to to participate!



Later -

Olan
  1. Helpful
  1. Govinda Lopez @Appeon
  2. Friday, 14 August 2020 21:45 PM UTC
Hi John,



Thank you so much for your valuable feedback. It is important for us to receive these type of incidents as support tickets. So, for example, if you consider this to be a documentation bug, then our team can consider adding that info into the documentation but we do require a ticket. The tickets are our internal process for following up on these type of cases.



Thanks again John and Olan!
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.