29.01.2012, 10:46 | #1 |
Участник
|
TimeOut в UserConnection
Доброго времени суток!
Столкнулся со следующей проблемой в DAX2009 SP1, используя класс UserConnection вызываю хранимую процедуру время выполнения, которой в среднем от одной минуты до пяти минут в зависимости от объема данных. Вызов в ахапке выполняется без ошибок, только вот результатов нет. Используя профайлер SQL Server выявил, что вызов хранимой процедуры заканчивается с ошибкой 2 - Abort, хотя если вызвать процедуру из SQL Management Studio выполнение не прерывается. Так вызываю процедуру используя UserConnection: X++: UserConnection sqlConnection; Statement sqlStatement; Source sqlSource = strfmt("EXEC [dbo].[%1]", _procName); SqlStatementExecutePermission sqlPermission; ; sqlConnection = new UserConnection(); sqlStatement = sqlConnection.createStatement(); sqlPermission = new SqlStatementExecutePermission(sqlSource); sqlPermission.assert(); sqlStatement.executeUpdate(sqlSource); sqlStatement.close(); CodeAccessPermission::revertAssert(); X++: System.Data.SqlClient.SqlConnection connection; System.Data.SqlClient.SqlCommand command; System.Exception e; SysSQLSystemInfo systemInfo = SysSQLSystemInfo::construct(); CodeAccessPermission perm = new InteropPermission(InteropKind::ClrInterop); ; connection = new System.Data.SqlClient.SqlConnection( strfmt("Data Source=%1;Initial Catalog=%2;Integrated Security=True", systemInfo.getLoginServer(), systemInfo.getloginDatabase())); command = connection.CreateCommand(); command.set_CommandText(_procName); command.set_CommandType(System.Data.CommandType::StoredProcedure); command.set_CommandTimeout(10 * 60); try { connection.Open(); command.ExecuteNonQuery(); } catch (Exception::CLRError) { e = ClrInterop::getLastException(); while(e) { error(e.get_Message()); e = e.get_InnerException(); } } if (connection.get_State() == System.Data.ConnectionState::Open) connection.Close(); CodeAccessPermission::revertAssert(); Последний раз редактировалось Raven13; 29.01.2012 в 10:58. |
|
Теги |
execute, set nocount on, sql server |
|
|