Вопрос № 180626: Здравствуйте эксперты. Пишу в C++ Builder. Начал работать с объектом Query, очень удобный, со всем чем надо разобрался вроде, только одно но. Как можно при помощи него самому создать базу данных? Все что я пока делал, было с базой данных «DBDEMOS»...
Вопрос № 180626:
Здравствуйте эксперты. Пишу в C++ Builder. Начал работать с объектом Query, очень удобный, со всем чем надо разобрался вроде, только одно но. Как можно при помощи него самому создать базу данных? Все что я пока делал, было с базой данных «DBDEMOS» которую во всех учебных литературах приводят, в ней я создавал свои таблицы. Подскажите, как сделать так, чтобы база данных размещала свои файлы, там где я хочу.
как сделать так, чтобы база данных размещала свои файлы, там где я хочу.
В Вашем случае - это просто набор таблиц, которые должны располагаться в одном каталоге
- это единственное требование. Сам каталог может называться как угодно и быть расположенным где угодно. Но, "для плоских" таблиц (Paradox, DBase) которые используются в этой базе есть еще одно ограничение - они не работают по сети, точнее, они могут "работать" если сетевой каталог подключен как диск.
Для обхода таких ограничений и удобства работы, фирма Borland давным-давно разработала хорошее решение: BDE (Borland Database Engine) которое
позволяет создавать своего рода ссылки, так называемые "алиасы" и с ними работать (Вы, вероятно, именно с таким алиасом и работаете). Сам механизм и его идея хорошо, но давно устарели и уж не сопровождается фирмой разработчиком (лет 10 уж) и сегодня крайне не рекомендуется использовать эту технологию. Хотя, для DBase и Paradox пожалуй вполне подойдет.
Касательно Вашего вопроса - Для того, что бы не использовать алиас, достаточно не выбирать из выпадающего списка DataBaseName имя "базы
данных" (алиаса) а просто указать путь к ней.. т.е. к каталогу где лежат файлы (таблицы) базы. Но, остерегайтесь указывать полные пути! Это однозначно не станет работать на другом компьютере (или, придется и там создавать такие же каталоги и копировать туда таблицы). Пишите относительный путь. например, создайте в каталоге с вашей программой каталог db и скопируйте туда необходимые таблицы. А в свойстве DataBaseName укажите ..\db\<имя таблицы>
Др
угой способ - просто настроить алиас, т.е. открыть BDE и там прописать и драйвер (standart в вашем случае) и путь к таблицам, в этом случае, они могут располагаться и на другом компьютере.
----- Жизнь игрушка – пока играешь сам..
Ответ отправил: Victor Pyrlik (Модератор)
Ответ отправлен: 08.11.2010, 16:57
Номер ответа: 263884 Россия, Екатеринбург Тел.: 89655089934 ICQ # 490191733 Абонент Skype: stells00
Оценка ответа: 5
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 263884
на номер 1151 (Россия) |
Еще номера »
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.