Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Клиент-сервер

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных
Предыдущая тема :: Следующая тема  
Автор Сообщение
Telepuzic



Зарегистрирован: 17.03.2006
Сообщения: 4

СообщениеДобавлено: Пт Мар 17 2006 11:43    Заголовок сообщения: Клиент-сервер Ответить с цитатой

Всем добрый день. У мня такой вопрос. Есть аппликейшен сервер (Delphi 7) COM+, на TDataModule расположен TAdoConnection, TAdoTable и TDataSetProvider компилим сервер регистрируем его и делаем клиента. Клиент состоит из TForm,TDcomConnection,TClientDataSet,TDataSource и TDBGrid настраиваем компоненты, компилим, запускаем все работает прекрасно, видим данные в DBGrid-e. У меня есть некоторое количество баз данных (MSSQL2000) с одинаковой структурой на разных серверах. Каждый клиент должен иметь возможность сам указать к какому серверу и к какой БД подключится для просмотра и изменения данных. Как мне в моем апп. сервере организовать такое дело. Типа программы Query Analyzer из пакета MSSQL2000, там каждый клиент сам выбирает себе к какому серверу и с какой БД ему работать. Всем спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dimasm



Зарегистрирован: 25.04.2005
Сообщения: 454

СообщениеДобавлено: Пн Мар 20 2006 22:21    Заголовок сообщения: Ответить с цитатой

на счёт подключения к разным серверам, так у
TADOConnection есть свойство ConnectionString
Изучи эту строку (которая генерится автоматически)
Там поёмйшь как подключастся к тому или иному серверу

А для использования разных баз и таблиц
то под таблици есть TADOTable
а если динамически
то запросиками типа SHOW databases; SHOW tables;
_________________
С уважением Dimasm
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Telepuzic



Зарегистрирован: 17.03.2006
Сообщения: 4

СообщениеДобавлено: Вт Мар 21 2006 09:12    Заголовок сообщения: Ответить с цитатой

Dimasm писал(а):
на счёт подключения к разным серверам, так у
TADOConnection есть свойство ConnectionString
Изучи эту строку (которая генерится автоматически)
Там поёмйшь как подключастся к тому или иному серверу

А для использования разных баз и таблиц
то под таблици есть TADOTable
а если динамически
то запросиками типа SHOW databases; SHOW tables;


Ето я знаю, проблема в том что при вызове какойто процедуры сервера с клиента ели при ClientDataSet.Open создается какбы новый обиект TDataModule c ConnectionString:='' . Как, и где мне хранить ConnectionString для каждого клиента ?.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dimasm



Зарегистрирован: 25.04.2005
Сообщения: 454

СообщениеДобавлено: Вт Мар 21 2006 19:15    Заголовок сообщения: Ответить с цитатой

Telepuzic писал(а):
Ето я знаю, проблема в том что при вызове какойто процедуры сервера с клиента ели при ClientDataSet.Open создается какбы новый обиект TDataModule c ConnectionString:='' . Как, и где мне хранить ConnectionString для каждого клиента ?.

Ничего не понял, билеберда какая-то TDataModule, ConnectionStrings:roll:

у тебя что, одна программа имеет одновременно несколько "клиентов" которые должны уметь подключаться к разным SQL серверам?
_________________
С уважением Dimasm
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Telepuzic



Зарегистрирован: 17.03.2006
Сообщения: 4

СообщениеДобавлено: Ср Мар 22 2006 09:15    Заголовок сообщения: Ответить с цитатой

Dimasm писал(а):

Ничего не понял, билеберда какая-то TDataModule, ConnectionStrings:roll:

у тебя что, одна программа имеет одновременно несколько "клиентов" которые должны уметь подключаться к разным SQL серверам?


У меня многозвеное приложение. На одном компе (сервер) установлен MSSQL2000, на другом аппликейшин сервер (Com+ обиект) и уже клиентская части на разных компах. Все запросы клиенов делаются через аппликейшин сервер который уже тянет данные с MSSQL2000. При каждом обрашении к аппликейшин серверу создается новый эгземпляр обьекта который сам уничтажается при завиршения запроса. Я так думаю что тут надо както работать с глобальными перименами этог апп. сервера
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dimasm



Зарегистрирован: 25.04.2005
Сообщения: 454

СообщениеДобавлено: Ср Мар 22 2006 19:18    Заголовок сообщения: Ответить с цитатой

а... вот оно как
тогда, думаю надо создавать свой класс (например MyServAppClass) в числе членов которого должны быть те компаненты, которые ты используешь. В нём реализуешь необходимый функционал программы.
Всё создавать динамически.
Одним из родителей родителей MyServAppClass должен быть класс TObject
Используя возможности TObject и класс TObjectList
ты получишь динамический массив с элементами типа MyServAppClass.
при подключении нового клиента создаёшь новый объект MyServAppClass и добавляешь его к списку. лучше его делать отдельным потоком. по потоку на клиента.
типа так
(пишу на Builder)

TObjectList *ServAppList = new TObjectList();
....
MyServAppClass*NewClient = new MyServAppClass("SQL_server_1","mens_table");
ServAppList->Add(NewClient);
_________________
С уважением Dimasm
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Telepuzic



Зарегистрирован: 17.03.2006
Сообщения: 4

СообщениеДобавлено: Чт Мар 23 2006 09:13    Заголовок сообщения: Ответить с цитатой

Спосибо за помошь. Решил побрему приблизительно также, только использую ТStringList где храню базу и имеа сервера для каждого клиента.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...