Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++ Builder] Модификация уже существующей БД, Переделать из локальной в сетевую 
V
    Опции темы
NordWolf
Дата 21.8.2007, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: 1
Всего: 1



Дело такое. Вот моя локальная БД. 

http://slil.ru/24762177

Таблицы в формате PARADOX. Среда программирования: C++ Builder 6. Установлен Interbase 6.5, но я  его никак не использовал и пользоваться им не пробовал (не умею).

Нужно модифицировать её так, чтобы таблицы находились на каком-либо сервере и при работе с данным я вызывал по определённому запросу (Весь список, либо по определённому критерию) нужную информацию, мог изменять её, добавлять новый элемент списка и сохранять.
Если у вас получится это сделать (а я уверен, что для вас это тривиальная задача), то просьба объяснить как вы это сделали? Вообще это моя курсовая.

Буду благодарен за любую помощь
PM MAIL   Вверх
NordWolf
Дата 22.8.2007, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: 1
Всего: 1



На сколько я знаю Paradox - локальная БД. И реализовать запросы для выборки определённой информации с таблицы можно только через InterBase. Я так понимаю?
PM MAIL   Вверх
Rodman
Дата 23.8.2007, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 26
Всего: 122



Interbase и Paradox разные вещи... судя по твоим словам - ты открываешь Paradox'овские таблицы при помощи Interbase. 
Цитата(NordWolf @  23.8.2007,  16:04 Найти цитируемый пост)
Задача решаема вообще? 

просто не совсем понятна суть вопроса, вот и тишина... сформулируй по подробнее... если сам не совсем рубишь в этих делах, то друга (или спеца) какого нить попроси чтобы он написал на понятном языке (конечно предварительно обьяснив ситуацию ему)!
PM MAIL WWW Skype GTalk YIM MSN   Вверх
NordWolf
Дата 23.8.2007, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: 1
Всего: 1



Вообщем так. Использую я таблицы парадоксовские. А вот как сделать чтобы инфа этих таблиц хранилась на каком-либо сервере. При нажатии на команды ВЕСЬ СПИСОК, ИСПРАВИТЬ и др можно было бы загружать эту информацию к себе на комп, исправлять и отсылать в на сервер эти исправления. Наверное так будет понятней. Прошу прощения за неумелость объяснить всё по-человечески.

собственно я уже пробовал сделать это здесь: http://forum.vingrad.ru/forum/act-ST/f-94/...5/unread-1.html 
Но там дают советы, которые я честно говоря не знаю как реализовать.
PM MAIL   Вверх
Rodman
Дата 27.8.2007, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 26
Всего: 122



NordWolf, качай IBExpert - при помощи него создавай новую базу, потом при помощи DataPump (я не знаю что это, но думаю для экспорта базы из одной СУБД в другую) и перекидывай таблицы и данные.

а дальше уже можно запускать билдер!

Ясно?
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Damarus
Дата 27.8.2007, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 671
Регистрация: 6.5.2006

Репутация: 7
Всего: 29



Цитата(Rodman @  27.8.2007,  13:05 Найти цитируемый пост)
NordWolf, качай IBExpert - при помощи него создавай новую базу,

Можно и без IBExpert'а. Так примерно (NordWolf.sql):
Код

SET SQL DIALECT 3;
SET NAMES WIN1251;

CREATE DATABASE 'NordWolf.fdb' USER 'SYSDBA' PASSWORD 'masterkey'
    PAGE_SIZE 8192 DEFAULT CHARACTER SET WIN1251;

CREATE TABLE GLAVN (
    GNum FLOAT NOT NULL PRIMARY KEY,
    GFam VARCHAR(50),
    GName VARCHAR(50),
    GOtch VARCHAR(50),
    DRojd DATE,
    Obrazov VARCHAR(50),
    Adres VARCHAR(50),
    Telefon VARCHAR(10),
    DVstup DATE
);

CREATE TABLE ANKETA (
    ANum FLOAT NOT NULL PRIMARY KEY,
    Nacion VARCHAR(50),
    Vera VARCHAR(50),
    Inyaz VARCHAR(50),
    Dop1 VARCHAR(50),
    Dop2 VARCHAR(255),
    Dop3 VARCHAR(50)
);

COMMIT;


Цитата

isql -i NordWolf.sql


Добавлено через 14 минут и 51 секунду
NordWolf, но IBExpert тебе пригодится smile 
PM MAIL ICQ Jabber   Вверх
Damarus
Дата 27.8.2007, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 671
Регистрация: 6.5.2006

Репутация: 7
Всего: 29



Цитата(NordWolf @  27.8.2007,  18:33 Найти цитируемый пост)
так... мужики, что дальше с ним делать? Я запихнул весь код в файл NordWolf.sql 

В Interbase/FireBird есть такая утилитка - isql. Ну вот и выполняй команду:
Код
isql -i NordWolf.sql

После этого у тебя в текущей директории появится база NordWolf.fdb с двумя таблицами: GLAVN и ANKETA. Далее с помощью DataPump заполняешь её данными из базы PARADOX.

Добавлено через 55 секунд
PS. USER и PASSWORD надо поменять на реальные.
PM MAIL ICQ Jabber   Вверх
NordWolf
Дата 28.8.2007, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: 1
Всего: 1



IB Expert 1.2 Выполнил - ИНСТРУМЕНТЫ > РЕДАКТОР SQL. Выбрал файл nordwolf.sql. Запусти скрипт. Получил файл NORDWOLF.FDB. Запускаем DataPump. Выбираем нашу парадоксовскую базу (из которой нужно данные перекинуть), жмём далее. Базы с названием NORDWOLF.FDB нету. Что сделать, чтобы она появилась? Как выбрать чтобы именно в неё вставлялись данные из парадоксовский базы? У меня есть предположение что тут как раз надо настроить ту базу которая отображается как IB Local чтобы она работала с NORDWOLF.FDB (через SQL Explorer, BDE Administrator)?
PM MAIL   Вверх
Rodman
Дата 28.8.2007, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 26
Всего: 122



Цитата(NordWolf @  28.8.2007,  15:44 Найти цитируемый пост)
в каком фильтре? В окне DataPump. 

ты хелп по нему не читал?
у тебя создана база FireBird - как я понимаю... 

вот при выборе базы твоей она не проходит фильтр, т.е. отображаются не FBD...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
NordWolf
Дата 28.8.2007, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: 1
Всего: 1



Я установил IB Expert 1.2 и Firebird-1.5.2.4731-Win32 на всякий случай. запустил IB Expert 1.2 и вставил там в интрументах > SQL редакторе присланный мне код. В итоге получился файл NORDWOLF.FDB.
Кстати, если удалить Firebird и проделать всё тоже самое в IB Expert, то пишет ошибку.

При этом никаких настроек в IBExpert я не производил и новых баз у меня не зарегистрировано.

Это сообщение отредактировал(а) NordWolf - 28.8.2007, 16:47
PM MAIL   Вверх
Rodman
Дата 28.8.2007, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 26
Всего: 122



Цитата(NordWolf @  28.8.2007,  16:31 Найти цитируемый пост)
Кстати, если удалить Firebird и проделать всё тоже самое в IB Expert, то пишет ошибку. 

ну а как же... это сервер, а без него как без рук...

добейся чтобы у тя появился файл NORDWOLF.gdb... потом конвертация должна пойти как по маслу!!!
PM MAIL WWW Skype GTalk YIM MSN   Вверх
NordWolf
Дата 28.8.2007, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: 1
Всего: 1



Добился. в скрипте просто исправил CREATE DATABASE 'NordWolf.fdb'  на CREATE DATABASE 'NordWolf.gdb'. Файл получился NordWolf.gdb причём абсолютно такого же размера.

Повтрю, что никаких настроек в IBExpert я не производил и новых баз у меня не зарегистрировано.
PM MAIL   Вверх
NordWolf
Дата 28.8.2007, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: 1
Всего: 1



да тоже самое. 
=(
я так понимаю, чтобы новая база была видна, её нужно зарегистрировать в самом IB Expert.
Регитрирую.
Server — Local
Введите путь к файлу БД, например:путь до файла NORDWOLF.gdb
Alias: NordWolf_DB
Login: SYSDBA 
Password: masterkey 
Нажму кнопку Register

Выполняю подключение базы, запускаю DataPump. Выбираю из парадоксов, жму next и ничего. Те же базы. Новой нету.

Это сообщение отредактировал(а) NordWolf - 28.8.2007, 17:21
PM MAIL   Вверх
Damarus
Дата 28.8.2007, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 671
Регистрация: 6.5.2006

Репутация: 7
Всего: 29



Цитата

Выполняю подключение базы, запускаю DataPump. Выбираю из парадоксов, жму next и ничего. Те же базы. Новой нету.

Так. Будем действовать по порядку.

1. Создаём базу Interbase/FireBird (я использовал FireBird):
Код

E:\Development\NordWolf>isql -i NordWolf.sql
Use CONNECT or CREATE DATABASE to specify a database

E:\Development\NordWolf>

Можно и через IBExpert.

2. Алиас для базы PARADOX в BDE Administrator'е. У тебя наверное уже есть.

3. DataPump. Я использовал эту: Interbase DataPump v 3.4 installation (with uninstall) BDE 5.2 and SQL links included. Ставим. Запускаем. Указываем базы:
user posted image

Далее. Закладка Step2: Order. Жмём Get Definitions. Затем Build Relations. Должно получится так:
user posted image

Далее. Закладка Step3: Pump. Жми Start.

Всё. Теперь в базе NordWolf.fdb данные из базы PARADOX.

Это сообщение отредактировал(а) Damarus - 28.8.2007, 19:10

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  NORDWOLF.zip 34,51 Kb
PM MAIL ICQ Jabber   Вверх
NordWolf
Дата 29.8.2007, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 15.8.2007

Репутация: 1
Всего: 1



так, попрорбую получить данный файл самостоятельно. 

Обдумывал тут прошлой ночью все действия и понял что можно ещё попробовать инным путём. Ведь у нас есть стандартная база в С++ под именем IBLocal, в настройках через ДБЕ Админ есть путь к стандартному файлу в поле Server name: c:\Program Files\Common Files\Borland Shared\Data\employee.gdb. NordWolf.gdb у нас получен. Так может просто поменять этот стандартный employee.gdb на путь к файлу NordWolf.gdb и потом туда перенести данные из парадокс-базы. Как такой варинат, прокатит?

Это сообщение отредактировал(а) NordWolf - 29.8.2007, 12:29
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0584 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.