| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Модификаия локальной БД в сетевую (help) |
| Автор: NordWolf 17.8.2007, 13:11 |
| Ситуация следующая. У меня существует локальная БД, написанная на С++ Bulder 6 (с ним же установлен компоннент INTERBASE, который идёт на диске) с двумя таблицами в формате PARADOX (anketa.db & glavn.db). Используемые мною компоненты: DataSource, Table, DBGrid и DBEdit (в качестве отображающего определённое поле таблицы). В базу можно добавлять новые компонент, именять их данные и пр. Вопрос в следующем: Как мне сделать так, чтобы данные для таблиц загружались через сеть (с определённлого сервера в интернете, допустим), которые я мог бы модифицировать и отослать на тот же сервер? Буду очень балгодарен, если поможите... |
| Автор: jonie 17.8.2007, 19:05 | ||
БД это хранилище данных. Оно НЕ может быть написано на языке С++.
А вообще есть сетевые СУБД...может стоит перевестив се на них?... -- ЗЫ: а INTERBASE че не сетевая? (не работал с ней, только слышал)... в общем на работе я делал так (у меня правда изначально было в задании сеть)... я сделал сверер , что отдавал данные через SOAP протокол, и клиентов под это дело написал. собсна на том и закончил ). Почему SOAP? потому что кросплатформенность играла значительную роль.... сервер делал всю грязную работу, клиенты только просматривали) ну и модифицировали при необходимости. В сервере я пологаю можно было бы оргнизовать очередь для клиенских запросов на запись\модификацию... (т.е. чтобы не было множественного открытия БД, т.к. у тебя она как ты гришь локальная, при множественной работе с сервером)....ну и както с репликаций данных вопрос решать надо тоже... |
| Автор: ksili 18.8.2007, 07:34 |
| Interbase - сетевая БД. NordWolf, найди в документации Interbase как прописать её сетевой путь. Насколько я понял у тебя есть исходники всего проекта. Пропишешь в компоненте IBDatabase (может ещё в каких-то других) новый путь к этой базе вместо старого. Перекомпилируй. И всё. Наверно надо будет на той машине установить сервер Interbase. |
| Автор: NordWolf 19.8.2007, 00:05 |
| 2jonie - ничё не понял ) сможешь описать пошагово? 2ksili - То есть добавить в среде с++ компонент IBDatabase прописать в нём путь к интербейсовской базе и всё? Кстати, получается нужно переделать формат парадокс в интербейс? Как это сделать? Создавать заново? |
| Автор: Vitalishe 19.8.2007, 03:09 |
| Блин,нет. По умолчанию он есть в BCB - IBDatabase, но для его работы InterBase нужен. 1. Установить на сервер InterBase (какой там у тебя) допустим 7.0; 2. Настроить его для работы с БД; 3. В своём проекте, созданном в BCB, добавить компонент IBDatabase и связать его с компонентами, отвечающими за отображение данных (IBTable, IB Query); 4. Посмотреть FAQS по IBComponents; 5. Собрать "строку подключения" - назовем это так, для коннекта к базе данных на удалённой машине; 5. Попробовать стартануть соединение к БД; 6. if (false) Посмотреть FAQS; 7. Настроить тип транзакций, курсора и т.д. 8. если не смог - Гугл в помощь; |
| Автор: Vitalishe 20.8.2007, 10:26 |
ТО NordWolf Для перекодеровки базы - воспользуйся либо Database DeskTOp, либо аналогичной утилитой |
| Автор: ksili 20.8.2007, 10:36 |
| А что, Database Desktop знает формат InterBase? не знал. Хотя я с InterBase'ом никогда и не работал... Я бы просто сделал приложение,на которое кинул бы компоненты для парадокса + компоненты для InterBase. И через него бы всё скопировал. Правда наверно связи пришлось бы вручную потом доделывать... А правда, как из парадокса по-быстрому и без косяков в InterBase перегнать базу? |
| Автор: Fazil6 20.8.2007, 13:09 | ||
в борланде есть утилита datapump для таких целей |
| Автор: NordWolf 20.8.2007, 14:02 | ||
| Fazil6 - Нашёл. ЗАпустил, Выбрал базу, жмём Next. Запрос - на какую базу поменять. Я так понимаю на IBLocal? После этого у меня будет локальная версия моей базы в формате InterBase? Кстати, версия IB 6.5 2Vitalishe
Помниться что-то делал подобное, но он не сохранял в формате IB. Писал ошибку какую-то. Вообще я только дистрибутив InterBase установил котоый вместе с ВС++ 6 шёл. В нём никогда не работал и как его настраивать тоже не знаю, но фак с сайта скачал, почитаю. Думаю успею разобраться за неделю (срок). Да, пользуясь случаем, так сказать - ни у кого нету книги "МИР INTERBASE"? А то на форуме ссылки уже старые. |
| Автор: Fazil6 20.8.2007, 14:12 | ||
нету у меня электрической, но хочу заметить, что по IB/FB есть намного лучше книга автора Х.Бори и называется она "Firebird. Руководство разработчика баз данных" |
| Автор: NordWolf 21.8.2007, 13:44 |
| А чем InterBase от Firebird отличается? |
| Автор: ksili 21.8.2007, 13:55 |
| NordWolf, ну ты даёшь. Для такого вопроса нужно создать отдельную тему. И задать его вот здесь http://forum.vingrad.ru/Interbase-database.html Да и почитать там же можно на эту тему. В двух словах: Firebird - наследник Interbase |
| Автор: NordWolf 24.8.2007, 14:54 |
| Понял... а где можно почитать про использование утилиты Datapump? |