Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
87 / 87 / 1
Регистрация: 30.06.2011
Сообщений: 123

BDE как настроить на другом ПК

29.09.2011, 21:34. Показов 4544. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!!! Помогите разобраться..

Вопрос такой, общего характера..
Не могу запустить Базу компоненты из библиотеки BDE на другом компьютере..
То-есть база данным на моем компе работает нормально Где установлен C++.
Понимаю BDE устарела на много , но у меня затрачено столько трудов по работе с ней..что делать не-знаю.
Пробовал установить InstallShield но правда от Delphi7 и скопировал туда модули bde_ent.msm,
bdeclientdataset.msm, bdertl.msm.. в Merge module их выставил но при распаковке на другом ПК пишет тож самое not found Alias.
затем в Configure the target System в ODBC выставил драйвера для PARADOX с .db.. Но при распаковке он их
не может извлечь эти .ddl в system32.. с ошибкой..не может скопировать файл..
b программно писал
C++
1
2
3
4
5
6
7
8
Table1->DatabaseName = "Proects";
Table1->TableName ="C:\\Proects\\Otdel.db";
Table1->Active = true;
Database1->DatabaseName= "Proects";
  Database1->DriverName= "STANDARD";
  Database1->Params->Clear;
  Database1->Params->Add("PATH=C:\\Proects\\Otdel.d");
  Table1->DatabaseName= "Proects";
Все-ровно не находит путь Alias на другом ПК.
Помогите, как проще сделать, чтоб БД работала на другом ПК.
Или драйвера как-то нужно загрузить правильно...Заранее спасибо.

Добавлено через 1 минуту
C++
1
Database1->Params->Add("PATH=C:\\Proects\\Otdel.db");
все писал вроде правильно.

Добавлено через 1 час 51 минуту
нашел пример в нэти таком роде.
C++
1
2
3
4
5
6
7
8
9
10
ExePath = GetCurrentDir(); // при создании прил.
Session1->Active = false;
ShellExecute(NULL,"open",(ExePath+"\\BDE\\bdeadmin.exe").c_str(),NULL,NULL,SW_HIDE);
Session1->SessionName = "session1";
Session1->AddAlias("MyAlias","STANDARD",Memo1->Lines);
Session1->PrivateDir = ExePath+"\\data";
Session1->NetFileDir = "C:\\";
Table1->DatabaseName = "MyAlias";
Table1->TableName = ExePath+"\\data\\table.db";
Table1->Active = true;
но как его организовать, стоит ли? как объявить переменную ExePath = GetCurrentDir();

в прочем очень надо помогите..
2
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.09.2011, 21:34
Ответы с готовыми решениями:

Запуск приложения на другом компьютере без BDE
Здравствуйте. Такой вопрос, как сделать, чтобы приложение(exe) открывалось, не требуя dbe. Т.е. на моем компьютере создавался псевдоним....

Программно настроить ODBC BDE Administrator
Здравствуйте! Есть программы которые были разработаны на Builder C++ В свою очередь для программ необходимо установить BDE. В панели...

Нужно ли ставить BDE драйвера на другом компьютере для работы программы?
кароче прога работает с локальной БД(таблицей) (эту же таблицу сама создаёт через SQL) парадокс через BDE Query. когда компилирую на...

16
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
29.09.2011, 23:57
Nikolay88_X, А вы не пробовали посмотреть прототип функции, чтобы знать какие параметры передавать и что конкретно она возвращает?

Unit - SysUtils
extern PACKAGE AnsiString __fastcall GetCurrentDir();
2
87 / 87 / 1
Регистрация: 30.06.2011
Сообщений: 123
30.09.2011, 01:10  [ТС]
попробовал но чтото компилятор ругается, вот незнаю а такой метод сработет или нет,
может драйвер лучше установить как-то..
2
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
30.09.2011, 09:56
Nikolay88_X, вы подключили заголовок SysUtils?
2
87 / 87 / 1
Регистрация: 30.06.2011
Сообщений: 123
30.09.2011, 10:09  [ТС]
дело в том что я в с++ пытаюсь написать пишу без подключения этой библтотеки но ошибки выдает errors line 1321.. Просто по конкретнее хотелось бы уточнить Каким путем пойти чтоб BDE обрабатывался там где с++ не установлен.. Зарание спасибо.
2
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
30.09.2011, 12:00
Для работы через алиасы (для BDE это правильный, "родной" метод) используют класс TSession (Вы правильно нашли , создавая при запуске и "убивая" алиас при завершении приложения. Настройка алиаса обычно выполняется с использованием установок в ini-файле, куда и заносится информация при установке (переустановке) программы.
Однако самолучшее решение (повторю в 100500-й раз) - полный отказ и от парадокса, и от БДЕ, вполоть до переделки старых (но работающих конечно) проектов

Добавлено через 1 минуту
Для установки BDE "независимо от с++) используйте собственно дистрибутив BDE (гугл подскажет где взять). Лучше всего добавить его в инсталляционную процедуру Вашего приложения
1
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
30.09.2011, 12:14
Nikolay88_X, вы не путайте либы билдера с либами БДЕ, да и никак вы без них не обойдетесь... все равно придется тягать за собой их целую тучу и работать через TSession... хотя согласен с MsGuns: избавляйтесь от этого убожества, причем чем быстрее, тем лучше будет для вас...
1
87 / 87 / 1
Регистрация: 30.06.2011
Сообщений: 123
30.09.2011, 17:35  [ТС]
Огромное спасибо за совет я конечно же пойду другим путем надежным, буду работать с ADO...
но BDE добить добью ради интереса...
2
87 / 87 / 1
Регистрация: 30.06.2011
Сообщений: 123
30.09.2011, 19:32  [ТС]
ну все же немогу добить, поместил BDE в папку проекта запускается bdeadmin.exe и ошибки выдает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String ExePath;
ExePath = GetCurrentDir(); // при создании прил.
Session1->Active = false;
ShellExecute(NULL,"open",(ExePath+"\\BDE\\bdeadmin.exe").c_str(),NULL,NULL,SW_HIDE);
Session1->SessionName = "session1";
Session1->AddAlias("ProectMoy","STANDARD",Memo1->Lines); // указание на это вырожение, но Алиас правильный
Session1->PrivateDir = ExePath+"\\ProectMoy";
Session1->NetFileDir = "C:\\";
Table1->DatabaseName = "ProectMoy";
Table1->TableName = ExePath+"\\ProectMoy\\Otdel.db";
Table1->Active = true;
}
что не так?
вот скрин
Миниатюры
BDE как настроить на другом ПК   BDE как настроить на другом ПК  
2
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
30.09.2011, 20:49
Nikolay88_X, какой БДЕ-админ? зачем ты его запускаешь? у тебя может конфликт возникать из-за совместного доступа к таблице, БДЕ полон всяких неприятных неожданностей...
2
87 / 87 / 1
Регистрация: 30.06.2011
Сообщений: 123
30.09.2011, 21:36  [ТС]
попробовал не запускать, но все-ровно Пишет имя не уникально..
что-то ему тут не нравиться..
Session1->AddAlias("ProectMoy","STANDARD",Memo1->Lines);

понять немогу...
1
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
01.10.2011, 10:52
Nikolay88_X, так давай по порядку, коль в тебе проснулся дух первооткрывателя...
твой код работает на ПК, где установлен БДЕ, тобишь без всяких изысков? я помню эту ошибку в работе с парадоксом (не зря они так назвали свою субд...), но давно было - буду вспоминать походу дела...
1
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
01.10.2011, 15:03
Очевидно, Вы создаете алиас, но затем его не уничтожаете (возможно потому, что программа не доходит до того места, где он убивается, вываливаясь из-за ошибки например). Тогда нужно просто проверять список алиасов и если требуемый есть, то не создавать его или прибивать предварительно)
Как следует изучите класс TSession, особое внимание обратив на тот факт, что создавать в программе экземпляр этого класса не следует - он и так автоматически создается если Вы используете компоненты BDE

Добавлено через 4 минуты
И еще.
Работая с BDE надо учитывать, что сама Делфи юзает BDE + Вашу базу, поэтому если у Вас в дизайне открыта база (TTable/TQuery etc открыты), то при любом сбое у Вас неминуемы конфликты (в т.ч. по индексам и блокировкам) - отсюда и зависания, поэтому лучше запускать программу не из Делфи, а из винды, хотя конечно в этом случае Вы лишаетесь без отладчика...
Короче, гемор при работе с BDE+Paradox при отладке Вам гарантирован
1
87 / 87 / 1
Регистрация: 30.06.2011
Сообщений: 123
01.10.2011, 17:39  [ТС]
Спасибо огромное Помогло, вот Точно аа я глупый.. Алиас уже был создан а я его пытаюсь
заново создать. Попробовал убрать и прописать нормально Patch Все заработала...
Спасибо огромное Обошлось без гемора
1
87 / 87 / 1
Регистрация: 30.06.2011
Сообщений: 123
08.10.2011, 20:44  [ТС]
Реьбят Подскажите пожалуйста:!!!
В общем все работает нормально, но при каждом запуске программы этот Alias создается,
как сделать Проверку Если Alias уже создан, но не создавать его заново...
1
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
08.10.2011, 20:55
Цитата Сообщение от Nikolay88_X Посмотреть сообщение
Проверку Если Alias уже создан, но не создавать его заново
C++
1
Session->GetAliasNames()
1
87 / 87 / 1
Регистрация: 30.06.2011
Сообщений: 123
08.10.2011, 23:04  [ТС]
Большое Спасибо.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.10.2011, 23:04
Помогаю со студенческими работами здесь

База данных: работа на другом компьютере без указания алиаса в BDE Administrator
Здрасте уважаемые люди. Я вот создал программу на Delphi с Базами данных. У меня работает, а если загрузу через другую комп, выдает ошибка...

Кто работал с BDE, помогите настроить доступ к Paradox через ODBC...
Если кто знает как настроить BDE, помогите пожалуйста! У меня есть приложение на Delphi, которое имеет свою БД Paradox. Мне нужно...

Как одному классу узнать о другом в другом файле, если они не имеют общего наследования
Есть два класса в разных файлах, первому классу нужно знать о втором и использовать указатели типа второго у себя внутри, второму нужно...

Как подключиться к BDE
Здравствуйте, форумчане! Я раньше использовал только ADO, вчера, короче скачал исходник программы, там оказывается база BDE. Запускаю а там...

UPDATE, BDE как?
вообщем нужно обновить поле таблицы (исп BDE и табл Paradox). Табл oblastzakaza, поле stoimost Выполняю примерно следующее ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru