[Zope-dev] DCOracle2 Beta 3

MatthewT.Kromer MatthewT.Kromer
Mon, 18 Jun 2001 08:31:17 -0400


On Saturday, June 16, 2001, at 08:41 PM, Andreas Repp wrote:
> (quoting himself)
>> ... To solve the performance problem I=B4d suggest to cache the user
>> connections for a certain period of time. ...
>
> Of course I haven't meant to 'cache' the connections but to keep em=20
> alive
> while the respective user is active and shut it down after a timeout
> period has passed.

I was reading the Oracle9i OCI documentation (Oracle 9i was just=20
released) and one of the interesting things it has is connection=20
pooling, with some kind of proxy authorization.  As I get a chance I may=20=

investigate this further; first to see if it works, then to get a feel=20=

for for how to integrate it into Zope.

It looks like an extension of something you could already do, but the=20
documentation is frustratingly light on examples.  In any case, the=20
promising part was that you could leave the proxied user's password=20
blank, as long as session was authorized for proxies.  That would=20
eliminate the whole necessity of having to track the database level user=20=

passwords.

>
> ##default_connection_id=3D(changed via ZSQL manage_main Interface)
> ##connection_type=3D[ standard | custom | optional ]
> ##connection_options=3D(individual Oracle Connection String)
> sql yada yada
>
> 'standard' =3D obvious
> 'custum'   =3D forced custom connection - will raise error if=20
> connection_options
>              dont' have a valid connection string
> 'optional' =3D try 'custom' and fallback to 'standard' if it fails
>
> btw: would be nice to have a drop box in the manage_main screen for =
this
> stuff in a _far future_ release of ZSQL-Methods ;-)

Well there are still userid mapping problems present.  It's not=20
necessarily reasonable to assume there is a 1:1 mapping between Zope=20
userids and the database userids.  What I'd probably be inclined to do=20=

is change the *connection* object to look for some other acquired=20
authenticator, which it could use to start a session.  That way you can=20=

write your own authentication conversions and plug them in.