0
vechiy
26.02.15
✎
13:05
|
Выполняю несколько запросов к другой базе sql и делаю это так:
SQLConnection = Новый COMObject("ADODB.Connection");
SQLConnection.Open("Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=a;Data Source=sql");
Recordset = Новый COMObject("ADODB.Recordset");
Recordset.ActiveConnection = SQLConnection;
SQLConnection.CommandTimeout=0;
СтрокаSQL="запрос";
Recordset.Open(СтрокаSQL,SQLConnection,2,4);
Recordset.MoveFirst();
поле=Recordset.Fields("поле").Value;
SQLConnection.Close();
дальше запрос2, 3 и т.д.
и всё это выполняется значительно дольше чем при выполнении запросов напрямую. Подозреваю, отчасти из-за того что приходится после каждого запроса делать close(); а потом заново открывать соединение.
А если его не закрывать то возникает ошибка
Произошла исключительная ситуация (ADODB.Recordset): Операция не допускается, если объект открыт.
set nocount on пробовал, в данном случае не помогает
Что ещё можно попробовать?
|
|