Delphi
--
Questions
--
Followers
Top Experts
Using BDE to access a MS/SQL database
I am still confused of which value setting is really used : the one defined in the BDE settings (BDE administrator) or the one via the Params property (Values[...]) of the TDatabase object which is used ?
Putting TIMEOUT to 20 in the BDE admin setting and the same to 5 at execution time shows that the one which is taken into account is through the BDE (I just issued a very long query in my exe and it failed on time out, but after 20 seconds, not 5).
My real problem is that I want to have it setup at run time !
Zero AI Policy
We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.
meikl ;-)
My application is a command line exe which accepts a parameter /t:n which means to put a time out of n seconds on the query. If error at execution due to the time out, I display an error message saying 'time out on query'
Now step by step
1. BDE Administrator -> timeout 10 -> save -> exit
2. From a prompt : myapp.exe /t:2 (the app runs a query that takes at least 15 seconds to answer)
3. I get Time out on query after +/- less 10 seconds
4. BDE Administrator -> timeout 2 -> save -> exit
5. From a prompt : myapp.exe /t:10
6. I get Time out on query after +/- less 2 seconds
This proves that the BDE takes the setting into account according the the BDE setup, not my program...
your tquery must be linked to your tdatabase and not to the alias,
whereas your tdatabase may linked to the alias, but
the alias-parameters are then overwritten with the TDatabase-parameters
meikl ;-)






EARN REWARDS FOR ASKING, ANSWERING, AND MORE.
Earn free swag for participating on the platform.
I setup a lot of these Params.Values and these are taken into account (user name, password etc...)
ps : there is maybe a monitoring tool to see what happens ?
.../...
DB1:TDatabase;
SP:TStoredProc;
.../...
with DB1 do
begin
DatabaseName := 'MyDataBase';
AliasName := '';
DriverName := 'MSSQL';
KeepConnection := True;
LoginPrompt := False;
SessionName := SessionName;
with Params do
begin
Values['DATABASE NAME'] := 'MyDataBase';
Values['APPLICATION NAME'] := 'Duplicates';
Values['SERVER NAME'] := 'MyServer';
.../...
Values['TIMEOUT'] := TimeOut;
end;
.../...
with SP do
begin
DatabaseName := DB1.DatabaseName;
StoredProcName := 'MyStoredProcedure';
Params.Clear;
.../...
end;
looks all correct
i did a bit recherche:
---- from delphi helpfile
property Params: TStrings;
Description
Use Params to examine or specify database connection parameters, such as path name, server name, schema-caching size, language driver, user name, and password. Actual parameters in Params differ depending on the current BDE alias and driver for the database component.
Params is a list of string items, each representing a different database connection parameter. If the AliasName property specifies a valid BDE alias, then Params automatically contains the parameters defined for that alias. If, instead of providing an alias, an application uses the DriverName property to provide a local alias, the application must provide Params values directly.
Note: Applications can use Params to override the default settings supplied by a BDE alias.
Tip: At design time double-click a TDatabase component to invoke the Database editor and set Params.
--------
i followed the tip, and in this dialog is a "Defaults"-Button
which lists this
list of default-parameters from the MSSQL-Driver
-------
DATABASE NAME=
SERVER NAME=MSS_SERVER
USER NAME=MYNAME
OPEN MODE=READ/WRITE
SCHEMA CACHE SIZE=8
BLOB EDIT LOGGING=
LANGDRIVER=
SQLQRYMODE=
SQLPASSTHRU MODE=SHARED AUTOCOMMIT
DATE MODE=0
SCHEMA CACHE TIME=-1
MAX QUERY TIME=300
MAX ROWS=-1
BATCH COUNT=200
ENABLE SCHEMA CACHE=FALSE
SCHEMA CACHE DIR=
HOST NAME=
APPLICATION NAME=
NATIONAL LANG NAME=
ENABLE BCD=FALSE
TDS PACKET SIZE=4096
BLOBS TO CACHE=64
BLOB SIZE=32
PASSWORD=
----------------
timeout is not in the list,
so i guess this parameter cannot overloaded with TDatabase-Params
serching on the net now
meikl ;-)
I did another test with te CONNECT TIMEOUT.
Same result, and like TIMEOUT, not in this list.
If it appears to be not modifiable, this is really a pitty.
But whatever the final real solution/reason is, I think you will get the points...

Get a FREE t-shirt when you ask your first question.
We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.
trying it now, be patient, this may take some time
(will do at weekend a new try)






EARN REWARDS FOR ASKING, ANSWERING, AND MORE.
Earn free swag for participating on the platform.
missed the feedback :-))
but found no way, sorry
meikl ;-)
Delphi
--
Questions
--
Followers
Top Experts
Delphi is the most powerful Object Pascal IDE and component library for cross-platform Native App Development with flexible Cloud services and broad IoT connectivity. It provides powerful VCL controls for Windows 10 and enables FMX development for Windows, Mac and Mobile. Delphi is your choice for ultrafast Enterprise Strong Development™. Look for increased memory for large projects, extended multi-monitor support, improved Object Inspector and much more. Delphi is 5x faster for development and deployment across multiple desktop, mobile, cloud and database platforms including 32-bit and 64-bit Windows 10.