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

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

29.09.2011, 21:34. Показов 4506. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru