pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
serious problem with Access ODBC connections and user accounts
2+ messages / 2 participants
[nested] [flat]

* serious problem with Access ODBC connections and user accounts
@ 2001-07-19 11:29  Markus Wagner <wagner@imsd.uni-mainz.de>
  0 siblings, 0 replies; 2+ messages in thread

From: Markus Wagner @ 2001-07-19 11:29 UTC (permalink / raw)
  To: pgsql-interfaces

Hi,

we have a serious problem with connecting to Postgres from Access.
We need to log user access to tables using triggers.
When linking PG tables into the Access frontend with ODBC, Access stores
user name and password for each table link.
Even worse: There will be a database connection for each linked table.

We have two choices:

1. create a postgres user for each frontend user
2. let all frontend (instances) connect with the same user account

Problem of 1.:

Since the user names and passwords are stored for each linked table, we
cannot get a connection with the current Access user's name and pwd. We
would have to make new links for all tables each time another user
starts the application.

Problem of 2.:

We would do the following to get the Access user's name into our
triggers:

- On application startup some code calls our function "myLogin",
  which receives the user name, creates a temporary table
  (which is different for each connection), and inserts the
  user name into this table.

- Our triggers would lookup the user name from the temporary table.

This approach seems to be very useful, but there is one drawback:

Access makes a new connection for each table that is opened.
So the temporary table created by the myLogin function would
be visible only within one connection.

What can we do? We believe that these problems must exist in
every project which uses PG on Linux and Access on NT as a frontend.
There must be a solution. Please help.

Thank you,

Markus



^ permalink  raw  reply  [nested|flat] 2+ messages in thread

* RE: serious problem with Access ODBC connections and user account s
@ 2001-07-23 08:37  Henshall, Stuart - WCP <SHenshall@westcountrypublications.co.uk>
  0 siblings, 0 replies; 2+ messages in thread

From: Henshall, Stuart - WCP @ 2001-07-23 08:37 UTC (permalink / raw)
  To: 'Markus Wagner' <wagner@imsd.uni-mainz.de>; pgsql-interfaces

Hello,
	Using MS Access 2000 if I link all the tables at once and don't save
the password when you first use a linked table it then brings up the ODBC
settings/password box. It then lets you use any of the tables linked at the
same time.
	However that isn't the way I do it. How I do it is to ask for a
username and password and the open an ODBC direct workspace like so:
csp = "ODBC;DRIVER={PostgreSQL};UID=" & unm & ";PWD=" & pd & ";DATABASE=" &
DBName & ";SERVER=" & DBSrvr &
";PORT=5432;READONLY=0;PROTOCOL=6.4;FAKEOIDINDEX=0;SHOWOIDCOLUMN=0;ROWVERSIO
NING=1;SHOWSYSTEMTABLES=0;CONNSETTINGS="
Set pg_bend = DBEngine.Workspaces(0).OpenDatabase("", False,
dbDriverNoPrompt, csp)
where unm is the username & pd is the password.
I then recreate all the tables I want (having previously having made sure
any linked tables are removed):
cs = "ODBC;DRIVER={PostgreSQL};DATABASE=" & DBName & ";SERVER=" & DBSrvr &
";PORT=5432;READONLY=0;PROTOCOL=6.4;FAKEOIDINDEX=0;SHOWOIDCOLUMN=0;ROWVERSIO
NING=1;SHOWSYSTEMTABLES=0;CONNSETTINGS="
rem (Note: No username and password on this connection string)
    Set td = CurrentDb.CreateTableDef("access_table _name")
    td.Connect = cs
    td.SourceTableName = "postgresql_table_name"
    CurrentDb.TableDefs.Append td
    CurrentDb.TableDefs.Refresh
I then leave the form open (but hidden) and also pass all the pass through
queries to it to be executed using pg_bend.openrecordset or pg_bend.execute
depending.
Hope this helps,
- Stuart
> -----Original Message-----
> From:	Markus Wagner [SMTP:wagner@imsd.uni-mainz.de]
> Sent:	Thursday, July 19, 2001 12:30 PM
> To:	pgsql-interfaces
> Subject:	serious problem with Access ODBC connections and user
> accounts
> 
> Hi,
> 
> we have a serious problem with connecting to Postgres from Access.
> We need to log user access to tables using triggers.
> When linking PG tables into the Access frontend with ODBC, Access stores
> user name and password for each table link.
> Even worse: There will be a database connection for each linked table.
> 
> We have two choices:
> 
> 1. create a postgres user for each frontend user
> 2. let all frontend (instances) connect with the same user account
> 
> Problem of 1.:
> 
> Since the user names and passwords are stored for each linked table, we
> cannot get a connection with the current Access user's name and pwd. We
> would have to make new links for all tables each time another user
> starts the application.
> 
> Problem of 2.:
> 
> We would do the following to get the Access user's name into our
> triggers:
> 
> - On application startup some code calls our function "myLogin",
>   which receives the user name, creates a temporary table
>   (which is different for each connection), and inserts the
>   user name into this table.
> 
> - Our triggers would lookup the user name from the temporary table.
> 
> This approach seems to be very useful, but there is one drawback:
> 
> Access makes a new connection for each table that is opened.
> So the temporary table created by the myLogin function would
> be visible only within one connection.
> 
> What can we do? We believe that these problems must exist in
> every project which uses PG on Linux and Access on NT as a frontend.
> There must be a solution. Please help.
> 
> Thank you,
> 
> Markus



^ permalink  raw  reply  [nested|flat] 2+ messages in thread


end of thread, other threads:[~2001-07-23 08:37 UTC | newest]

Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2001-07-19 11:29 serious problem with Access ODBC connections and user accounts Markus Wagner <wagner@imsd.uni-mainz.de>
2001-07-23 08:37 RE: serious problem with Access ODBC connections and user account s Henshall, Stuart - WCP <SHenshall@westcountrypublications.co.uk>

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox