![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Транзакции в ADO [D7, MSSQL]
Hiller © (2008-05-15 17:38:00)Здравствуйте, коллеги!
Раньше никогда не работал в АДО, а вот пришлось.
Проблема такая, при старте транзакции пишет
---------------------------
Debugger Exception Notification
---------------------------
Project prjPersonal.exe raised exception class EOleException with message 'Не удается создать новую транзакцию из-за превышения допустимой емкости'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
Код, где это происходит следующий:
===
dbMain: TADOConnection;
quDBUpdate: TADOQuery;
dmDatabase - форма с компонентами
===
function DoSQL(aSQL: string): integer;
begin
dmDatabase.quDBUpdate.SQL.Text := aSQL;
result := dmDatabase.quDBUpdate.ExecSQL;
end;
procedure DoDBUpdate(aNum: integer; aSQL: string);
begin
if dmDatabase.dbMain.Connected then //Здесь все нормально,
//соединение установлено
dmDatabase.dbMain.BeginTrans; //Вот здесь падает, ага
try
if not WasUpdate(aNum) then
begin
DoSQL(aSql);
DoSQL('INSERT INTO VERSION (VERSION_NUM, UPDATE_DATE) VALUES (' + IntToStr(aNum) + ', GETDATE())');
end;
except
dmDatabase.dbMain.RollbackTrans;
raise
end;
dmDatabase.dbMain.CommitTrans;
end;
Дельфя седьмая, БД MSSQL.
Помогите, кто чем может :)
Hiller (2008-05-16 09:40:00) [21]
Provider=SQLOLEDB.1;Password=personal;Persist Security Info=True;User ID=personal;Initial Catalog=KADR;Data Source=W1824
BoxTer (2008-05-16 07:42:00) [22]ConnectionString какой?