Diman
Admin
 Admin
| Posts: 1482 |  | Karma: 19 |
|
Re:Переход на AnyDAC с SDAC при использовании ХП
|
|
Posted: 2007/08/03 07:21 |
|
|
|
|
Привет
1. Если для реализации бизнес-логики использованы ХП, есть ли преимущества/недостатки ваших компонент по сравнению с SDAC? Скорее всего - ни да, ни нет. Оба DAC'а их честно выполняют. Про AnyDAC: - поддерживается множественные наборы данных, возвращаемые ХП; - AnyDAC пропускает пустые наборы, если не установлено SET NOCOUNT ON; - поддержка array execution; - и много чего хорошего, что идет уже не от драйвера, а от остальных частей AnyDAC.
Но есть и проблемы. Основная - "длинные" поля должны идти в конце select списков. Данная проблема будет устранна в 2.0. Большинство других так же будет решено в 2.0. На самом деле - все уже пофикшено, и ждет выхода 2.0  2. Если при выполнении ХП возникает ошибка (любая), то мне нужно самому обеспечить возврат кода и текста ошибки на клиента или AnyDAC предоставит мне сведения? AnyDAC 1.x вам предоставит достаточно полную информацию об ошибке. Но абсолютно всю информацию, которую предоставляет клиент MSSQL, предоставит v 2.0. Где введен класс исключительной ситуации EADMSSQLNativeException. А если это собственная (сгенерированная мною: код и и текст) ошибка? Код и текст в любом версии вам будут доступны. Смотрите класс EADDBEngineException и его свойство Errors. Модуль - daADStanError. 3. Можно ли сделать централизованную обработку ошибок при операциях с БД (Connection.OnError)? Да, на то и рассчитано это свойство. Что такое const AInitiator: IADStanObject в Connection.OnError?Это ссылка на интерфейс объекта сгенерировшего исключительную ситуацию. IDAPhysCommand, IADPhysConnection и т.д.Или централизованную обработку лучше делать с помощью IADGUIxErrorDialog? Этот интерфейс предназначен для реализации своих вариантов финальной реакции на ошибку. Чаще всего это - показать сообщение. Смотрите, например, TADGUIxFormsErrorDialog.
Удачи, Дмитрий
|
|