Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Подскажите насчет Indy


Автор: Jonnik 3.12.2006, 16:47
Помогите найти исходник клиент-серверного приложения на компонентах TIdTCPServer и TIdTCPClient работающего с базой данных? 

Автор: Akella 4.12.2006, 09:48
нет таких исходников

Автор: Jonnik 4.12.2006, 19:31
Почему нет?

Автор: x77 4.12.2006, 19:37
Jonnik, потому что любая СУБД предоставляет свои средства доступа к серверу, будь то ADO, будь то ODBC или там какой-нибудь ole-db provider. когда вы используете, например, компонент TIbQuery - он сам обращается к требуемым функциям api, отвечающим за установку коннекта и выборку данных. и работа со стеком TCP/IP реализована на гораздо более низком уровне - на уровне api самой СУБД. использовать для установки коннекта компоненты типа TIdTcpServer особого смысла нет, так как вам всё равно придётся как-то коннектиться к базе. От того, что вы подключитесь через этот компонент на порт 3050, к примеру (для Ib/FB/Yaffil) - ничего не изменится, вы же не знаете, в каком формате надо давать команды этому серверу.

Автор: dumb 4.12.2006, 20:29
x77, есть подозрение, что Jonnik не хотел реализовывать доступ к БД посредством Indy - он просто не знает, что именно ему нужно, судя по вопросу.

ps. да и через компонент TIdTCPServer подключиться куда-либо проблематично... smile

Автор: Rodman 4.12.2006, 20:51
Jonnik, посмотри Web-Services... там можно реализовать доступ к базе в инете..

Автор: Jonnik 4.12.2006, 22:27
Мне сказали сделать простое клиент серверное приложение используя компоненты Indy и что бы там была база данных. Это я понимаю так: К серверу прикреплена база данных, а с помощью клиента я задаю какой либо запрос к базе данных. Соответственно клиен конектится к серверу, а сервер уже к базе банных. Затем сервер передает данные запроса к клиенту.
Мне все это нужно в примитивном уровне и не в инете, а на компе.

Автор: dumb 5.12.2006, 03:28
Jonnik, во, так уже конкретней.

берешь из Indy demos пример под названием IdTCPDemo и вставляешь туда обращение к БД... концентрируешь внимание на том, что сервер под каждого клиента создает новый поток - не все БД-компоненты являются thread-safe.
в общем, задача вроде и простая, но с "подводными камушками"...

...

хм. в демках indy раньше(в 9.0.14, например) была дема TCPDataset, но в последнем релизе примеров - нету. убрали, видать, либо из-за использования стороннего компонента (TkbmMemTable), который наверное и решал проблемы мульти-поточности, либо просто из-за глюков... user posted image

но, думаю, как пример сойдет smile

http://www.components4programmers.com/downloads/kbmmemtable/

Автор: Jonnik 5.12.2006, 21:12
Спасибо и на этом. Теперь есть хоть с чем разбираться

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