| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 подключиться куда-либо проблематично... |
| Автор: 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), который наверное и решал проблемы мульти-поточности, либо просто из-за глюков... ![]() но, думаю, как пример сойдет http://www.components4programmers.com/downloads/kbmmemtable/ |
| Автор: Jonnik 5.12.2006, 21:12 |
| Спасибо и на этом. Теперь есть хоть с чем разбираться |