BorlandTalk.com Forum Index BorlandTalk.com
Borland discussion newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Timeout Expired

 
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Databases (SQL Servers)
View previous topic :: View next topic  
Author Message
Mike Kabue
Guest





PostPosted: Tue Apr 20, 2004 9:55 am    Post subject: Timeout Expired Reply with quote



Hi,

I have developed a small Vehicle Workshop Management system with Delphi 7,
and running on MS SQL 2000 server.

There are a number of users who need to access the app at the same time to
update different modules.

On clicking the App executable, a Timeout Expired error is generated. I
think this has something to do with running transactions. Is there anyone
who can help in the best way to set transactions (At what point do i have to
start a transaction and commit it).

I am new to MS SQL 2000 Server!!!

Thanks
Mike


Back to top
Kevin Frevert
Guest





PostPosted: Tue Apr 20, 2004 10:32 am    Post subject: Re: Timeout Expired Reply with quote



Mike,

Actually you don't have to explicitly start/commit transactions, the driver
can take care of that for you (implicit transactions is the default
behavior).

You didn't provide any information about the application (BDE? ADO? What is
the app doing to cause the error? , etc)
Good place to start (article is BDE specific, but concepts still apply)...
http://bdn.borland.com/article/0,1410,28160,00.html

Other good articles worth mentioning...
http://www.hower.org/Kudzu/Articles/DBDesign/index.html
http://bdn.borland.com/article/0,1410,27790,00.html

Good luck,
krf

"Mike Kabue" <myqro (AT) yahoo (DOT) com> wrote

Quote:
Hi,

I have developed a small Vehicle Workshop Management system with Delphi 7,
and running on MS SQL 2000 server.

There are a number of users who need to access the app at the same time to
update different modules.

On clicking the App executable, a Timeout Expired error is generated. I
think this has something to do with running transactions. Is there anyone
who can help in the best way to set transactions (At what point do i have
to
start a transaction and commit it).

I am new to MS SQL 2000 Server!!!

Thanks
Mike





Back to top
Mike Kabue
Guest





PostPosted: Tue Apr 20, 2004 10:57 am    Post subject: Re: Timeout Expired Reply with quote



Kevin,
The App use ADO to connect.

Mike

"Kevin Frevert" <Work (AT) drinkingcoffee (DOT) com> wrote

Quote:
Mike,

Actually you don't have to explicitly start/commit transactions, the
driver
can take care of that for you (implicit transactions is the default
behavior).

You didn't provide any information about the application (BDE? ADO? What
is
the app doing to cause the error? , etc)
Good place to start (article is BDE specific, but concepts still apply)...
http://bdn.borland.com/article/0,1410,28160,00.html

Other good articles worth mentioning...
http://www.hower.org/Kudzu/Articles/DBDesign/index.html
http://bdn.borland.com/article/0,1410,27790,00.html

Good luck,
krf

"Mike Kabue" <myqro (AT) yahoo (DOT) com> wrote in message
news:4084f579 (AT) newsgroups (DOT) borland.com...
Hi,

I have developed a small Vehicle Workshop Management system with Delphi
7,
and running on MS SQL 2000 server.

There are a number of users who need to access the app at the same time
to
update different modules.

On clicking the App executable, a Timeout Expired error is generated. I
think this has something to do with running transactions. Is there
anyone
who can help in the best way to set transactions (At what point do i
have
to
start a transaction and commit it).

I am new to MS SQL 2000 Server!!!

Thanks
Mike







Back to top
Kevin Frevert
Guest





PostPosted: Tue Apr 20, 2004 12:11 pm    Post subject: Re: Timeout Expired Reply with quote

Mike,

Good choice Smile What components are you using (TADODataSets, TADOCommand,
etc)? Are there any blocks (Enterprise Manager->Your
server->Management->Current Activity)?

krf

"Mike Kabue" <myqro (AT) yahoo (DOT) com> wrote

Quote:
Kevin,
The App use ADO to connect.

Mike



Back to top
Mike Kabue
Guest





PostPosted: Tue Apr 20, 2004 1:31 pm    Post subject: Re: Timeout Expired Reply with quote

Kevin,
I am using TADOQuery only.

There are no blocks. The only thing I have done is to start a transaction
when a user clicks on a button or tries to create a new record in the
database. A number of Tables need to be updated in between. I want the app
to only commit these updates if all Tables (4 in Number) have been updated
successfuly.

Here is how it happens breifly.

To update a parts requisition:
1. The user enter a requisition number-> the system checks if the
requisition has already been inputed earlier
a.) If not yet, a transaction is started, and a new entry is inserted into
the WKrequisition table.
b.) The user peoceeds to input the line items (required parts etc) which
reads the part numbers from a WKStocks Table and Updates the Line Table
WKItems.
c.)After all the Line Table items have been input the user can choose to
save the whole transaction - In this case, the Line Table is updated with
the Requision number and transaction commited
or
d.)The user clicks on a cancel button and the whole transaction (Requisition
and Line Items) are dropped and the transaction is rolled back.
e.) The User can then choose to start the whole process once again.

Lengthy!!, but this is a brief of what the app operates in one of the
modules.

Mike

"Kevin Frevert" <Work (AT) drinkingcoffee (DOT) com> wrote

Quote:
Mike,

Good choice Smile What components are you using (TADODataSets,
TADOCommand,
etc)? Are there any blocks (Enterprise Manager->Your
server->Management->Current Activity)?

krf

"Mike Kabue" <myqro (AT) yahoo (DOT) com> wrote in message
news:40850407 (AT) newsgroups (DOT) borland.com...
Kevin,
The App use ADO to connect.

Mike





Back to top
Kevin Frevert
Guest





PostPosted: Tue Apr 20, 2004 1:57 pm    Post subject: Re: Timeout Expired Reply with quote

Mike,

Ideally, keep the transactions on the server (triggers, stored procs) and
only on the most extreme exceptions allow explicit transactions to be
handled by end-users (ex. waiting for them to click a button).

Take a look at using TClientDataSets
http://community.borland.com/article/0,1410,22571,00.html
http://community.borland.com/article/0,1410,20847,00.html

or use ADO in batch update mode. Also for new development, use TADODataSets
instead of TADOQuery. TADOQuerys are really meant for backward
compatibility/conversion of (BDE) TQuerys. TADODataSets and TADOCommands
are "closer" to the OLE-DB layer (ADO) than TADOQuery and TADOStoredProc.

In a batch mode (either TADODataSet->TDataSetProvider->TClientDataSet or
TADODataSet.LockType=ltBatchOptimistic) you can apply changes to the
database on the Save button click and do nothing (close the dataset,
refresh, etc) on the Cancel (letting ADO commit/rollback changes
implicitly).

Good luck,
krf

"Mike Kabue" <myqro (AT) yahoo (DOT) com> wrote

Quote:
Kevin,
I am using TADOQuery only.



Back to top
Mike Kabue
Guest





PostPosted: Tue Apr 20, 2004 2:05 pm    Post subject: Re: Timeout Expired Reply with quote

Kevin,
Thanks, will try it out and let you know how it works out.

Mike

"Kevin Frevert" <Work (AT) drinkingcoffee (DOT) com> wrote

Quote:
Mike,

Ideally, keep the transactions on the server (triggers, stored procs)
and
only on the most extreme exceptions allow explicit transactions to be
handled by end-users (ex. waiting for them to click a button).

Take a look at using TClientDataSets
http://community.borland.com/article/0,1410,22571,00.html
http://community.borland.com/article/0,1410,20847,00.html

or use ADO in batch update mode. Also for new development, use
TADODataSets
instead of TADOQuery. TADOQuerys are really meant for backward
compatibility/conversion of (BDE) TQuerys. TADODataSets and TADOCommands
are "closer" to the OLE-DB layer (ADO) than TADOQuery and TADOStoredProc.

In a batch mode (either TADODataSet->TDataSetProvider->TClientDataSet or
TADODataSet.LockType=ltBatchOptimistic) you can apply changes to the
database on the Save button click and do nothing (close the dataset,
refresh, etc) on the Cancel (letting ADO commit/rollback changes
implicitly).

Good luck,
krf

"Mike Kabue" <myqro (AT) yahoo (DOT) com> wrote in message
news:40852803 (AT) newsgroups (DOT) borland.com...
Kevin,
I am using TADOQuery only.





Back to top
Display posts from previous:   
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Databases (SQL Servers) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.