Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   ошибка Timeoutcommand SQL запроса (http://forum.oszone.net/showthread.php?t=183910)

GooDok 26-08-2010 15:32 1482224

ошибка Timeoutcommand SQL запроса
 
Вложений: 1
Добрый день!

Есть скрипт, который использует sql подключение, в скрипте используется библиотека _sql.au3, она прикреплена к сообщению.
Суть проблемы в том, что при выполнение sql запроса возвращается ошибка [Microsoft][ODBC SQL Server Driver]Sessiontimeout, хотя несколько раз были случаи, что скрипт успевал отрабатывать и выводил результат!
Реальное время выполнения запроса около одной минуты.

код скрипта:

#include <_sql.au3>
#include <array.au3>
#include <Excel.au3>
Opt ("trayIconDebug",1)

Global $oMyError = ObjEvent("AutoIt.Error","MyErrFunc") ; Initialize a COM error handler

Func MyErrFunc()
Msgbox(0,"AutoItCOM Test","info!" & @CRLF & @CRLF & _
"err.description is: " & @TAB & $oMyError.description & @CRLF & _
"err.windescription:" & @TAB & $oMyError.windescription & @CRLF & _
"err.number is: " & @TAB & hex($oMyError.number,8) & @CRLF & _
"err.lastdllerror is: " & @TAB & $oMyError.lastdllerror & @CRLF & _
"err.scriptline is: " & @TAB & $oMyError.scriptline & @CRLF & _
"err.source is: " & @TAB & $oMyError.source & @CRLF & _
"err.helpfile is: " & @TAB & $oMyError.helpfile & @CRLF & _
"err.helpcontext is: " & @TAB & $oMyError.helpcontext )
Endfunc

$oADODB = _SQL_Startup()
_sql_Connect(-1,"server","dbname","log","pass")

GlobAL $aData,$iRows,$iColumns
_SQL_CommandTimeout(-1,"6000000")
_SQL_ConnectionTimeout(-1,"6000000")
$iRval = _SQL_GetTable2D(-1,"select * from points;",$aData,$iRows,$iColumns)
_arrayDisplay($aData,"2D (" & $iRows & " Rows) (" & $iColumns & " Columns)" )


предполагаю, что я неверно использую

_SQL_CommandTimeout(-1,"6000000")
_SQL_ConnectionTimeout(-1,"6000000")

либо это вообще не работает...

amel27 29-08-2010 11:23 1484008

Цитата:

Цитата GooDok
предполагаю, что я неверно использую
_SQL_CommandTimeout(-1,"6000000")
_SQL_ConnectionTimeout(-1,"6000000") »

- для отключения используется значение таймаута "0"
- версия MDAC должна быть не ниже 2.6

GooDok 29-08-2010 21:41 1484440

Цитата:

Цитата amel27
- для отключения используется значение таймаута "0"
- версия MDAC должна быть не ниже 2.6 »


1. Попробовал так:
_SQL_CommandTimeout(-1,"0")
_SQL_ConnectionTimeout(-1,"0")
Никаких изменений.
2. Подключаюсь к БД SQL server 2008.


Время: 20:03.

Время: 20:03.
© OSzone.net 2001-