Hi George
In pgAdmin II, if I understand it correctly, the program determines the databases present on the server using pg_Database when the user selects Connect. I assume that the program then connects to a specific database when one is chosen by the user from the database tree.
In a nutshell, yes.
As far as I can tell, this is done without using a User, System, or File DSN.
Yes, this is called a DSN-less connection. All the DSN actually does is store pre-determined settings that the driver can use when connecting to the database, as well as the driver name itself. Those settings can also be passed to the driver through the connection string, and the DSN name omitted.
Can you direct me to a source of information or documentation which describes how this is accomplished?
cn.Open "DSN=<MyDataSourceName>;UID=<MyUsername>;PWD=<MyPassword>;Database=<MyDatabaseName>"
you might try something like:
cn.Open "DRIVER={PostgreSQL};UID=<MyUsername>;PWD=<MyPassword>;Database=<MyDatabaseName>"
pgAdmin also sets the following options in the connection string above (they are in no particular order, and may be omitted to get the defaults).
READONLY=0;PROTOCOL=6.4;FAKEOIDINDEX=0;SHOWOIDCOLUMN=0;ROWVERSIONING=0;SHOWSYSTEMTABLES=0;CONNSETTINGS=;FETCH=100;SOCKET=4096;UNKNOWNSIZES=0;MAXVARCHARSIZE=254;MAXLONGVARCHARSIZE=65536;OPTIMIZER=1;KSQO=1;USEDECLAREFETCH=0;TEXTASLONGVARCHAR=1;UNKNOWNSASLONGVARCHAR=0;BOOLSASCHAR=1;PARSE=0;CANCELASFREESTMT=0;EXTRASYSTABLEPREFIXES=dd_;
Thanks for you help (and a super product!)
You're welcome.
Regards Dave.