Skip site navigation (1) Skip section navigation (2)

Re: Compiling using Visual Studio 2003

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 (view raw or flat)
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
+--------------------------------------------------------	


In response to

pgsql-odbc by date

Next:From: Dave PageDate: 2005-02-10 14:54:45
Subject: Re: Compiling using Visual Studio 2003
Previous:From: Dave PageDate: 2005-02-10 12:44:30
Subject: Re: Compiling using Visual Studio 2003

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group