Re: [dabo-users] Add From Data Environment (Not Responding)

Author: John Fabiani

Posted: 2012-04-12 at 15:32:34

On Thursday, April 12, 2012 06:46:41 PM Cheryl wrote:

> I am a brand new user to dabo.

> First, I used the runtime installer yesterday, and then removed it and did

> the svn install on Windows XP.

> I have installed the latest svn version of dabo on Windows XP, along with

> Python2.6, PIL1.1.7, psycopg2-2.4.5,reportlab2.5, and wx-2.8-msw-unicode.

> I have created a new project using dabo.quickstart.

> I have started to create a new form with the classdesigner and have created

> a new connection to a very large postgres database that has 376 schemas and

> a number of tables within each schema.

> When I test the connection, it works fine.

> However, when I select the saved connection and click on next, Windows gets

> stuck and times out trying to get all of the table names from the postgres

> database(I'm guessing?)

> Yesterday, when I was using the runtime version, it was over 15 minutes

> waiting for the tables to display for choosing.

> Today, it is taking even longer.

> Any suggestions for speeding this up? (I am stuck with having my postgres

> schema in this large database).

I sort doubt that a speed up is possible. I believe the app is gathering all

the available table and views from all the schema. For example dealing with

only 10 tables per schema means gathering information from 3760 tables. Each

of those tables are processed for field information including name, data

types, and determining if the field is primary key. And all of the data is

stored in ram.

But you could hand code the bizobj's required some like this:

class WarehousepwtranrtBizobj(dabo.biz.dBizobj):

def afterInit(self):

self.DataStructure = (

("pkid", "I", True, "warehouse.pwtranrt", "pkid"),

("fk_transid", "I", False, "warehouse.pwtranrt", "fk_transid"),

("fk_prdctid", "I",False, "warehouse.pwtranrt", "fk_prdctid"),

("mnotes", "I", False, "warehouse.pwtranrt", "mnotes"),

("nflatfee1", 'N', False, "warehouse.pwtranrt", "nflatfee1"),

("nhrate", "N", False, "warehouse.pwtranrt", "nhrate"),

("nsrate", "N", False, "warehouse.pwtranrt", "nsrate"),

("ncycledays", "I", False, "warehouse.pwtranrt", "ncycledays"),

("ccustno", "C", False,"warehouse.pwtranrt","ccustno"),

("centerby", "C", False, "warehouse.pwtranrt", "centerby"),

("nratelevel", "I", False, "warehouse.pwtranrt", "nratelevel"),

("dnextbill", "D", False, "warehouse.pwtranrt", "dnextbill"),

("nstatus", "I", False, "warehouse.pwtranrt", "nstatus"),

("dlastinvoice", "D", False, "warehouse.pwtranrt",

"dlastinvoice"),

("dpaidthru", "D", False, "warehouse.pwtranrt", "dpaidthru"),

("dentered", "D", False, "warehouse.pwtranrt", "dentered"),

("deffective", "D", False, "warehouse.pwtranrt", "deffective"),

("cuid", "C", False, "warehouse.pwtranrt", "cuid"),

("nbillby", "I", False, "warehouse.pwtranrt", "nbillby"),

("nfactor", "N", False, "warehouse.pwtranrt", "nfactor"),

)

self.DataSource = "warehouse.pwtranrt"

self.KeyField = ""

self.addFrom("warehouse.pwtranrt")

self.addField("centerby")

self.addField("mnotes")

self.addField("nstatus")

self.addField("nsrate")

self.addField("dlastinvoice")

self.addField("dpaidthru")

self.addField("nhrate")

self.addField("fk_transid")

self.addField("nbillby")

self.addField("nflatfee1")

self.addField("nfactor")

self.addField("ccustno")

self.addField("dentered")

self.addField("nratelevel")

self.addField("ncycledays")

self.addField("cuid")

self.addField("deffective")

self.addField("fk_prdctid")

self.addField("pkid")

self.addField("dnextbill")

And then use ClassDesigner to create the screen and associate the fields with

properties of a control.

Johnf

_______________________________________________

Post Messages to: Dabo-users@leafe.com

Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users

Searchable Archives: http://leafe.com/archives/search/dabo-users

This message: http://leafe.com/archives/byMID/5585030.mSzSHqe8ld@linux-12

©2012 John Fabiani