Subject | Roles and connection pooling |
---|---|
Author | Nols Smit |
Post date | 2012-01-18T11:43:31Z |
Hi,
I'm using FB 2.5 Super Server, Delphi7, UniDac database drivers and the IntraWeb/TMSIntraweb components.
With connection pooling, one's application (a web application in my case) typically open a pool of connections to the database. A thread then use a connection from the available pool of connections, locks it, execute some SQL operations and unlock the connection.
My typical code of establishing a connection is:
procedure TDataModule1.OpenDatabase;
begin
if IsLibrary then
DBServer := '127.0.0.1'
else
DBServer := 'LocalHost';
try
with UniConnection1 do
begin
Disconnect;
ProviderName := 'InterBase';
Server := DBServer;
loginPrompt := false;
Database := DBName;
Username := DBUser;
Password := DBPassword;
SpecificOptions.Values['role'] := DBRole;
try
Connected := true;
except
raise Exception.Create('Can''t logon with supplied User ID, Role and Password');
end;
end;
except
raise;
end;
end;
The question is: If a user log in by using some (restricted) role, will this pooled connection still be able to serve users in other (less restricted) roles?
Regards,
Nols Smit
[Non-text portions of this message have been removed]
I'm using FB 2.5 Super Server, Delphi7, UniDac database drivers and the IntraWeb/TMSIntraweb components.
With connection pooling, one's application (a web application in my case) typically open a pool of connections to the database. A thread then use a connection from the available pool of connections, locks it, execute some SQL operations and unlock the connection.
My typical code of establishing a connection is:
procedure TDataModule1.OpenDatabase;
begin
if IsLibrary then
DBServer := '127.0.0.1'
else
DBServer := 'LocalHost';
try
with UniConnection1 do
begin
Disconnect;
ProviderName := 'InterBase';
Server := DBServer;
loginPrompt := false;
Database := DBName;
Username := DBUser;
Password := DBPassword;
SpecificOptions.Values['role'] := DBRole;
try
Connected := true;
except
raise Exception.Create('Can''t logon with supplied User ID, Role and Password');
end;
end;
except
raise;
end;
end;
The question is: If a user log in by using some (restricted) role, will this pooled connection still be able to serve users in other (less restricted) roles?
Regards,
Nols Smit
[Non-text portions of this message have been removed]