html sql - sql timeout

I get the following error;

Error Number: 350
Error Text: Native SQL Error Code
Error Hint Text: Native SQL Error Code

SQL STATEMENT: INSERT INTO xcards2004 (Use_Flag,Company_Number,Company_Name,Home_Email,Work_Email,First_Name) VALUES(' ','000031352','Deloitte & Touche LLP ','michael_santoro@yahoo.com ','micsantoro@deloitte.com ','MICHAEL ')
SQL 350 STATEMENT: [Microsoft][ODBC SQL Server Driver]Timeout expired


The code is as follows;

<iINCLUDE name='d:\usersites\htdocs\admin\include_top.inc'>

<div class="d" align="center">AS/400 User Interface</div>
<ieq name="filepath1" value='d:\emaildata\'>
<ieq name="filepath2" value='.txt'>
<ieq name="filepath" value=:filepath1:CallListName:filepath2>
<ieq name="cdata" value=`}<iFile name=":filepath" op="read">`>
<iEQ name="Ctext" value="text">
<iEQ name="CLText" value=:CallListName:Ctext>
<iEQ name="begin" value="Begin">

<iREGEXLIST      SRC=`:cdata` REGEX=".*}" LISTNAME="TESTLIST" MAX="10000" FLAGS="EIN">
<iEQ name=NumOfRecords value=<iListget name=TESTLIST op=count>>

<iIf cond=<iStrcmp src=<iStrlen src=`:cdata`> dst="1">>
<p align="center">
No data was transfered from the AS400.<br>
Go back to the first page and check your data.<br>
:CallListName<br>
:filepath<br>
</p>
<iElse>

<iEQ name=fieldstring value="Use_Flag,Company_Number,Company_Name,Home_Email,Work_Email,First_Name">

<iSQL DBNAME="emailerdb" SQL="CREATE TABLE :CallListName (List_ID integer NOT NULL IDENTITY,Use_Flag VARCHAR(1) NULL,Company_Number VARCHAR(9) NULL,Company_Name VARCHAR(255) NULL,Home_Email VARCHAR(255) NULL,Work_Email VARCHAR(255) NULL,First_Name VARCHAR(255) NULL)" LOGIN="tax-talentdata/tony12" ALIAS="TABLETEST">
</iSQL ALIAS="TABLETEST">
<iSQL DBNAME="emailerdb" SQL="CREATE INDEX CnameIndex ON :CallListName (Company_Name)" LOGIN="ta" ALIAS="TABLETEST2">
</iSQL ALIAS="TABLETEST2">


<iLOOP initial=1 final=:NumOfRecords>
<iEQ name=item1 value=`<iListget name=TESTLIST op=getat index=:i_loop>`>

<iREPLACE var=item1 src="}" dst="">
<iREPLACE var=item1 src="~" dst="','">
<iEQ name=finalitem1 value="'">
<iEQ name=finalitem value=":finalitem1:item1:finalitem1">



<iSQL DBNAME="emailerdb" SQL="INSERT INTO :CallListName (:fieldstring) VALUES(:finalitem)" FAILURE="ErrorIDENTIFIER: :i_error :i_errortext :i_sqlerrortext" LOGIN="ta" ESC=FALSE>


</iLOOP>
</iSql>
<p align="center">
<br>Number of Records: :NumofRecords<BR><BR>
Done!<br><br>
The data has been stored in a table called :CallListName.<br>
</p>

</iIf>

<iINCLUDE name='d:\usersites\taxtalent2\htdocs\admin\include_bottom.inc'>


This code runs for a small file of 15 records but not for 600. I have no idea what timeout happened. I checked the ODBC and SQL. I changed the IIS server timeout from 120 to 360 but no change. The timeout actually happens at about 45 seconds. The table has about 130 records in it when it fails (starts with zero).

LVL 1
larksysAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

LeviterCommented:
I think that this error does not occur on the web server, but on the SQL Server. Inside SQL Server timeouts can be defined as well (don't know exactly where).

Since the error occurs while inserting data into a table, my guess is that the table is locked at the moment of the insert and that it takes too long to be released so your data can be inserted. Are there any other processes running on the same SQL Server table? Like any other applications inserting/updating or deleting? Or is your application the only application at that moment.

What you could do is use enable tracing on the SQL Server and see what happens when you insert data.
0
gagaliyaCommented:
this has nothing to do with the db, it is a odbc connection timeout between db and app. you need to set the actual connection variables:
ConnectionTimeout = 0
CommandTimeout = 0

note: 0 = never times out, good for testing but in best practice you want to set it to 2x your system threshold but never infinite.

http://www.w3schools.com/ado/prop_commandtimeout.asp for more info on commandtimeout.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
larksysAuthor Commented:
Can you point me to the timeout parameters. I cannot find them under ODBC admin or SQL Ent Manager. Do I have to set them with javascript? That might be the only access I have to them via html.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
HTML

From novice to tech pro — start learning today.