From: | Paul Cochrane <paul(dot)m(dot)cochrane(at)tuht(dot)scot(dot)nhs(dot)uk> |
---|---|
To: | pgsql-odbc(at)postgresql(dot)org |
Subject: | Re: Compiling using Visual Studio 2003 |
Date: | 2005-02-10 14:31:31 |
Message-ID: | 420B7043.4030202@tuht.scot.nhs.uk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
Dave Page wrote:
>>Off topic, FYI, I couldn't get the command line nmake to work. I did
>>try putting in extra search paths & stuff but gave up shortly
>>thereafter
>>and continued my fight with the IDE.
>>
>>
>
>That's how I build it all the time. Did you run vcvars32.bat first? That
>should be all that is needed.
>
>
>
I'm Thick. What is this file? It doesn't seem come with psqlodbc and
there is no mention of it in the doc on the GBORG site about compiling
the driver. I was changing to the extracted dir & trying nmake.....
>>I asked years ago agout this. Google for "psqlodbc bde
>>schema" and it's
>>the first match. Basically when using a schema enabled postgres the
>>table names are returned as 'public.tablename' instead of plain
>>'tablename'. This screws up the applications as it upsets all
>>the data
>>models for the forms. The application needs to work with both the
>>paradox table version and postgres so I need a way of hiding the
>>"public." returned to paradox. I've managed to do this by
>>adding another
>>compile option "HIDE_PUBLIC_SCHEMA" and modifying the PGAPI_TABLES
>>routine to return NULL if the schema name happens to be
>>PUBLIC (#ifdef
>>around the line set_tuplefield_string(&row->tuple[1],
>>GET_SCHEMA_NAME(table_owner));). This seems to work.
>>
>>
>
>SQLTables does it as it should:
>
>SQLTables:
> In:
>StatementHandle = 0x003B16F8, CatalogName = SQL_NULL_HANDLE, NameLength1
>= 0, SchemaName = SQL_NULL_HANDLE, NameLength2 = 0,
>
>TableName = SQL_NULL_HANDLE, NameLength3 = 0, TableType =
>SQL_NULL_HANDLE, NameLength4 = 0
> Return: SQL_SUCCESS=0
>
>Get Data All:
>"TABLE_QUALIFIER", "TABLE_OWNER", "TABLE_NAME", "TABLE_TYPE", "REMARKS"
><Null>, "cms", "content", "TABLE", ""
><Null>, "information_schema", "applicable_roles", "VIEW", ""
><Null>, "information_schema", "check_constraints", "VIEW", ""
><Null>, "information_schema", "column_domain_usage", "VIEW", ""
>...
>...
>
>The schema is in the TABLE_OWNER column (as it is on SQL Server
>incidently).
>
I know that the driver is doing it as it supposed to. It's paradox/BDE
that can't cope with the schema stuff.
>If Paradox is prepending it onto the tablename, then it
>should be fixed (though I appreciate you probably can't do that :-) ).
>
>
I wish I could. Open source is a great invention. If its broken try and
fix it yourself.
>Can you work around it in your Paradox code though?
>
>
I can fix it in code but this would break the compatibility of using
either the paradox tables or postgres tables. I would have to have two
different versions of each form etc & record many lines of code to say
"If in postgres add a public. to every table name" which is a huge pest
& I don't want to have two version of each form to try & keep in sync
with each other.
If I get it working, I may update the ODBC driver form to have a couple
of tick boxes to make this an option in the driver and send you the
changes made.
--
Paul Cochrane (paul(dot)m(dot)cochrane(at)tuht(dot)scot(dot)nhs(dot)uk)
+--------------------------------------------------------
| Tayside Orthopaedic & Rehabilitation Technology Centre
| Ninewells Hospital & Medical School
| Dundee, Scotland, UK.
| DD1 9SY
| Phone: Internal: 36284
| External: +44 (1382) 496284
| Fax: +44 (1382) 496322
+--------------------------------------------------------
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Page | 2005-02-10 14:54:45 | Re: Compiling using Visual Studio 2003 |
Previous Message | Dave Page | 2005-02-10 12:44:30 | Re: Compiling using Visual Studio 2003 |