Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подключение к СУБД из Веб-сервиса [D6, MSSQL]


Kuzmich ©   (2002-03-29 14:14:00) 

Создаю SOAP Web Service, кладу на WebModule ADOConnection и ADOTable, настраиваю ConnectionString на существующую под MS SQL Server 7.0 базу, пытаюсь сделать в designtime Connected=true - без проблем. Но при этом в runtime попытка установить коннект с SQL сервером вызывает ошибку "Access violation". Аутентификацию испробовал и виндовую, и внутреннюю SQLную.


Chepel   (2002-03-29 22:32:00) [1]

надеюсь D6 имеет UpdatePack 2 и не стоит MSXML4.0 (если стоит - то не будет работать WSDL publish).

Проблема в том что переменная

var
WebModule1: TWebModule1;

никем не выставляется, поэтому

приписываем к веб-модулю конструктор

type
TWebModule1 = class(TWebModule)
{...}
public
constructor Create(Owner: TComponent); override;
end;


в котором делаем


constructor TWebModule1.Create(Owner: TComponent);
begin
inherited;
WebModule1 := Self;
end;


Проблема решена, но решена не совсем правильно... =)

Правильней было бы создать отдельный дата модуль (TDataModule) и поместить туда эти компоненты (ADOConnection и ADOTable). Сам модуль создавать/прибивать внутри объекта отвечающего за имплементацию твоих функций (по умолчанию он должен быть в файле *Impl.pas).

Если нужно активно работать с данными на клиенте, советую рассмотреть вариант с MIDAS ч-з SOAP Connetcion.


Наверх

Титульная страница Поиск, карта сайта Написать письмо