Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Midas


Автор: Лена 24.4.2007, 14:55
Цель увидеть таблицу базы данных, которая находиться на удаленном сервере в окне Internet Explorer, при условии, что нет возможности расположить какие-либо файлы на этом удаленном сервере баз данных.

1.Создаю следующую архитектуру для доступа к удаленной базе данных:
В приложение добавляю TCRemoteDataModule в него добавляю DataSetProvider1 и ADOTable1. 
DataSetProvider1 связываю с ADOTable1.
Связываю ADOTable1 через строку соединения с удаленной базой данных. Делаю тест соединения. Все нормально. Компилирую и регистрирую приложение /RegServer.

2.Теперь создаю новое приложение нового типа: 
Добавляю в новое приложение WebModule1. В него добавляю: DCOMConnection1, XMLBroker1, InetXPageProducer1.
DCOMConnection1 связываю через ServerName c сервером приложений созданным выше. Настраиваю у XMLBroker1 свойство ProviderName=DataSetProvider1 и свойство RemoteServer=DCOMConnection1. У компонента InetXPageProducer1 свойство IncludePath устанавливаю C:/Scripts/ в этот каталог я перенесла все скрипты, которые идут в дефолтной поставке Builder для работы этого компонента из папки \CBuilder6\Source\webmidas.
В редакторе Web Page Editor компонента  InetXPageProducer1, который вызывается правой кнопкой, я добавила DataForm1, DataNavigator1, DataGrid1. Таким образом, я вижу в редакторе Web Page Editor структуру таблицы ADOTable1 сервера приложений, который создала выше и который настроен на доступ к удаленной базе данных.
При компиляции этого созданного приложения я вижу, что запускается сервер приложений созданный выше. Все нормально.
После этого я переношу приложение с WebModule1 в исполняемый каталог моего локального сервера IIS на моем компьютере, чтобы можно было запустить мое приложение из строки браузера. Туда же я перенесла и файл midas.dll из стандартной поставки Builder. Также я разрешила общий доступ в свойстве папки локального сервера. Таким образом, я получила четырехзвенную архитектуру доступа к удаленному серверу баз данных.
Однако при попытке обратиться из строки браузера к своему приложению я получаю, "страница не найдена". Подскажите, что не правильно?
Информация о четырехзвенной архитектуре:
http://www.compress.ru/Archive/CP/2000/1/11/
глава: "Как создать четырехзвенную информационную систему".


Автор: Лена 24.4.2007, 17:32
Мне удалось реализовать задачу после замены компонента DCOMConnection1 на компонент SocketConnection1. Почему не отображалось при использовании DCOMConnection1?

Автор: Vyacheslav 24.4.2007, 19:45
Точно не скажу, но скорее всего проблема с секьюрити. Обычно с DCOM основные проблемы с этим.
В этом случае решалось все с  помощью  шаманства с утилитой dcomcnfg.exe

Автор: Лена 25.4.2007, 18:21
Спасибо. Теперь понятно. Буду разбираться с dcomcnfg.exe.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)