Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

База данных

2.9K
28 ноября 2005 года
narcotic
41 / / 04.10.2004
Я пишу базу данных. Подключаюсь билдером к Ms Access. В Панели управления в Источнике данных прописываю путь к базе данных. Все работает отлично. Но когда я переношу базу на другой комп и запускаю приложение, выскакивает ошибка
"An error occured while attempting to initialize the Borland Database Engine (error $2108)".
На другом компе я прописываю путь к базе данных, но ничего не меняется. Подскажите, что еще нужно прописать?
1
28 ноября 2005 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by narcotic
Я пишу базу данных. Подключаюсь билдером к Ms Access. В Панели управления в Источнике данных прописываю путь к базе данных. Все работает отлично. Но когда я переношу базу на другой комп и запускаю приложение, выскакивает ошибка
"An error occured while attempting to initialize the Borland Database Engine (error $2108)".
На другом компе я прописываю путь к базе данных, но ничего не меняется. Подскажите, что еще нужно прописать?


А собственно БДЕ установлен?

2.4K
28 ноября 2005 года
Lexogen
70 / / 18.05.2004
Цитата:
Originally posted by narcotic
Я пишу базу данных. Подключаюсь билдером к Ms Access. В Панели управления в Источнике данных прописываю путь к базе данных. Все работает отлично. Но когда я переношу базу на другой комп и запускаю приложение, выскакивает ошибка
"An error occured while attempting to initialize the Borland Database Engine (error $2108)".
На другом компе я прописываю путь к базе данных, но ничего не меняется. Подскажите, что еще нужно прописать?



"Mark Shevchenko:

Для того, чтобы yстановить пpогpаммy, котоpая тpебyет BDE, есть несколько базовых пyтей, в частности:

1. Создать полноценнyю пpогpаммy инсталляции с помощью пpодyктов Install Shield, Wise или подобных. Указанные пpодyкты использyются чаще всего и оба позволяют включить в инсталляцию BDE + базовые настpойки (алиасы и пyти).

2. Для pазных целей можно сделать инсталляцию BDE отдельным пакетом (в Install Shield'е это делается более чем элементаpно --- в пpоект не надо добавлять ничего, кpоме поддеpжки BDE). Удобно в пpоцессе написания пpогpаммы для одного пользователя. Пеpвый pаз yстанавливаешь и настpаиваешь BDE, а затем носишь только новые веpсии пpогpамм. Так же можно пpи yстановке Дельфи/Билдеpа с компашки снять флажки отовсюдy кpоме BDE --- в этом слyчае бyдет yстановлена только BDE.

3. Есть возможность инсталлиpовать BDE pyчками. Пеpвый этап --- копиpование файлов, втоpой --- пpописывание pеестpа. Подpобно описано в tips'n'tricks y Акжана, см. http://delphi.da.ru.

Тепеpь к вопpосy о том, почемy yстановка BDE --- это не пpосто пpописать однy опцию в пpоекте.

Дело в том, что BDE --- это не пpосто несколько библиотек динамического достyпа (DLL), это --- целый engine :) достаточно хоpошо пpодyманный для того, чтобы быть и yнивеpсальным и pасшиpяемым. Занимает он в запакованном виде две дискеты, а в pаспакованном (+ файлы, котоpые включать в поставкy не нyжно) --- более десяти!

Естественно, не для всех задач подходит именно BDE (благодаpя своим особенностям). Во-пеpвых, возникают пpоблемы пpи pаботе с DBF фоpматов Clipper и Fox. Во-втоpых, не для всех пpогpамм тpебyются все возможности BDE, а быть они должны как можно меньше.

По фактy, сyществyет несколько альтеpнативных движков, подpобнее можно yзнать в ru.delphi.db"

2.1K
28 ноября 2005 года
mainigor
151 / / 21.10.2005
Цитата:
Originally posted by narcotic
Я пишу базу данных. Подключаюсь билдером к Ms Access. В Панели управления в Источнике данных прописываю путь к базе данных. Все работает отлично. Но когда я переношу базу на другой комп и запускаю приложение, выскакивает ошибка
"An error occured while attempting to initialize the Borland Database Engine (error $2108)".
На другом компе я прописываю путь к базе данных, но ничего не меняется. Подскажите, что еще нужно прописать?



Я с Access тоже делал, но использовал ADO.
За собой ничего тащить не надо.
Только строчку с путем к базе в ini или реестре нужно.
Для базы, которая предположительно будет расти быстро - не рекомендую. Пухнет он (Access) надо делать функции от вздутия. Или из меню Access - Сервис- Служебные программы - Сжать и восстановить базу. :(

2.9K
29 ноября 2005 года
narcotic
41 / / 04.10.2004
Спасибо всем за советы! Все работает. Очень вам признателен :)
1
30 ноября 2005 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by narcotic
Спасибо всем за советы! Все работает. Очень вам признателен :)


Признательность всеж лучше выражать в описании - проблема - как решилась. Напишите часть фака по этой теме.
Каждый из нас учится и ищет. Если вы задаете вопрос на форуме - пишите решение - от вас не убудет - кому то пригодится.
Если вам дано готовое решение - не стесняйтесь - пишите - что и как вам помогло, опишите что вы, и как делали, это поможет, и это не нужно гуру, это нужно всем. Завершайте свои вопросы.

1
30 ноября 2005 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by kot_
Признательность всеж лучше выражать в описании - проблема - как решилась. Напишите часть фака по этой теме.
Каждый из нас учится и ищет. Если вы задаете вопрос на форуме - пишите решение - от вас не убудет - кому то пригодится.
Если вам дано готовое решение - не стесняйтесь - пишите - что и как вам помогло, опишите что вы, и как делали, это поможет, и это не нужно гуру, это нужно вам. Завершайте свои вопросы.

2.9K
30 ноября 2005 года
narcotic
41 / / 04.10.2004
Цитата:
Originally posted by kot_
Признательность всеж лучше выражать в описании - проблема - как решилась. Напишите часть фака по этой теме.
Каждый из нас учится и ищет. Если вы задаете вопрос на форуме - пишите решение - от вас не убудет - кому то пригодится.
Если вам дано готовое решение - не стесняйтесь - пишите - что и как вам помогло, опишите что вы, и как делали, это поможет, и это не нужно гуру, это нужно всем. Завершайте свои вопросы.



Я пробовал устанавливать BDE на другой комп из инсталятора билдера, но это не очень удобно. Лучше воспользоваться отдельным инсталятором BDE. Вот ссылка:
http://slavik-hata.narod.ru/Install/bde.exe
После установки BDE все отлично работает!

1.8K
06 декабря 2005 года
Azaze1
102 / / 08.01.2005
всем здрэ =)
вопрос наверное не столько по программированию, сколько по структуре и дизайну. но связан он тем не менее с базами данных. Так вот, излагаю задачу:
Есть база, в ней таблица, полей скажем в 20, число записей - пока не надоест. Тип полей - char(255), т.е. заполнение чисто текстовое. Задача - обеспечить для юзверя удобное и быстрое заполнение полей (разумеется включая понятное и чёткое отображение).
Просто я работал исключительно с одним компонентом визуализации - DBGrid, но там заполнять записи текстом - проблемно. Всё вытягивается в строку... Короче не подходит. Уверен, что кто-то из вас организовывал нечто подобное поэтому может подскажете, как это получше организовать в смысле, какие компоненты лучше использовать для введения текстовых данных, как расположить или что-то в этом роде.
Обсуждения приветствуются. Ссылки на подобные реализованные проекты - тоже

Кстати, кто-то там выше спрашивал про программное сжатие .mdb. Если интересно, вот код:

//WSCurrConn должна быть ConnectionString текущего TADOConnection, WSTempDB - путь к временной базе. Потом переименовываешь временную в текущую и все. Hу есессно у пользователя должны быть права и на момент сжатия всех надо отключить.
//---------
WideString WSCurrConn, WSTempDB;
Variant JE = Variant::CreateObject ("JRO.JetEngine");
try
{
HRESULT hResult = JE.OleFunction ("CompactDatabase", WSCurrConn,
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + WSTempDB);
}
__finally
{
JE = Unassigned;
}
Vladimir V. Polyakov
2.1K
06 декабря 2005 года
mainigor
151 / / 21.10.2005
Цитата:
Originally posted by Azaze1
всем здрэ =)
вопрос наверное не столько по программированию, сколько по структуре и дизайну. но связан он тем не менее с базами данных. Так вот, излагаю задачу:
Есть база, в ней таблица, полей скажем в 20, число записей - пока не надоест. Тип полей - char(255), т.е. заполнение чисто текстовое. Задача - обеспечить для юзверя удобное и быстрое заполнение полей (разумеется включая понятное и чёткое отображение).
Просто я работал исключительно с одним компонентом визуализации - DBGrid, но там заполнять записи текстом - проблемно. Всё вытягивается в строку... Короче не подходит. Уверен, что кто-то из вас организовывал нечто подобное поэтому может подскажете, как это получше организовать в смысле, какие компоненты лучше использовать для введения текстовых данных, как расположить или что-то в этом роде.
Обсуждения приветствуются. Ссылки на подобные реализованные проекты - тоже

Кстати, кто-то там выше спрашивал про программное сжатие .mdb. Если интересно, вот код:

//WSCurrConn должна быть ConnectionString текущего TADOConnection, WSTempDB - путь к временной базе. Потом переименовываешь временную в текущую и все. Hу есессно у пользователя должны быть права и на момент сжатия всех надо отключить.
//---------
WideString WSCurrConn, WSTempDB;
Variant JE = Variant::CreateObject ("JRO.JetEngine");
try
{
HRESULT hResult = JE.OleFunction ("CompactDatabase", WSCurrConn,
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + WSTempDB);
}
__finally
{
JE = Unassigned;
}
Vladimir V. Polyakov



Thanks за сжатие, довольно просто сделано, я делал отделный dll модуль.
А grid действительно неудобен для заполнения, лучше сделать отдельную форму, можно также использовать компонент dxDBInspector от Developer Express он разворачивает поля или же навороченные grid - ы от той же фирмы, их можно разворачивать и расширять поля по своему усмотрению, а также изменения компонента сохраняются в ini или реестре. Пользуюсь MasterView, очень удобная вещь.

1.8K
06 декабря 2005 года
Azaze1
102 / / 08.01.2005
Цитата:
Originally posted by mainigor
можно также использовать компонент dxDBInspector от Developer Express он разворачивает поля или же навороченные grid - ы от той же фирмы, их можно разворачивать и расширять поля по своему усмотрению


то есть они прямо в режиме заполнения позволяют разворачивать поля? попробуем-с. а есть прямые ссылки для скачивания на эти компоненты?

2.1K
06 декабря 2005 года
mainigor
151 / / 21.10.2005
Цитата:
Originally posted by Azaze1
то есть они прямо в режиме заполнения позволяют разворачивать поля? попробуем-с. а есть прямые ссылки для скачивания на эти компоненты?



не, у меня на диске компоненты
а все гриды могут редактироваться, им надо настроить свойства.

2.9K
06 декабря 2005 года
narcotic
41 / / 04.10.2004
Цитата:
Originally posted by Azaze1
всем здрэ =)
вопрос наверное не столько по программированию, сколько по структуре и дизайну. но связан он тем не менее с базами данных. Так вот, излагаю задачу:
Есть база, в ней таблица, полей скажем в 20, число записей - пока не надоест. Тип полей - char(255), т.е. заполнение чисто текстовое. Задача - обеспечить для юзверя удобное и быстрое заполнение полей (разумеется включая понятное и чёткое отображение).
Просто я работал исключительно с одним компонентом визуализации - DBGrid, но там заполнять записи текстом - проблемно. Всё вытягивается в строку... Короче не подходит. Уверен, что кто-то из вас организовывал нечто подобное поэтому может подскажете, как это получше организовать в смысле, какие компоненты лучше использовать для введения текстовых данных, как расположить или что-то в этом роде.
Обсуждения приветствуются. Ссылки на подобные реализованные проекты - тоже

Кстати, кто-то там выше спрашивал про программное сжатие .mdb. Если интересно, вот код:

//WSCurrConn должна быть ConnectionString текущего TADOConnection, WSTempDB - путь к временной базе. Потом переименовываешь временную в текущую и все. Hу есессно у пользователя должны быть права и на момент сжатия всех надо отключить.
//---------
WideString WSCurrConn, WSTempDB;
Variant JE = Variant::CreateObject ("JRO.JetEngine");
try
{
HRESULT hResult = JE.OleFunction ("CompactDatabase", WSCurrConn,
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + WSTempDB);
}
__finally
{
JE = Unassigned;
}
Vladimir V. Polyakov



Вместо DBGrid можно поставить кучу DBEdit-ов таких размеров, какие тебе нужны.

1.8K
07 декабря 2005 года
Azaze1
102 / / 08.01.2005
Цитата:
Originally posted by narcotic
Вместо DBGrid можно поставить кучу DBEdit-ов таких размеров, какие тебе нужны.


можно то оно можно. только как ты себе это представляешь? порядка 20 полей, какие-то из них просто для заполнения цифрами, какие-то текстовыми данными, притом объёмными. Всё это в перемешку в одной записи. И таких записей для 1 таблицы будет много.
Разворачивающиеся ячейки - это было бы самое то =)
2mainigor: а возможность выложить есть? =)) просто очень нужно =)

2.9K
08 декабря 2005 года
narcotic
41 / / 04.10.2004
Цитата:
Originally posted by Azaze1
можно то оно можно. только как ты себе это представляешь? порядка 20 полей, какие-то из них просто для заполнения цифрами, какие-то текстовыми данными, притом объёмными. Всё это в перемешку в одной записи. И таких записей для 1 таблицы будет много.
Разворачивающиеся ячейки - это было бы самое то =)
2mainigor: а возможность выложить есть? =)) просто очень нужно =)


А не лучше ли для таких записей использовать формат поля не Text, a Memo? Тогда на форму можно поставить DBMemo и нормально просматривать содержимое поля.

471
08 декабря 2005 года
_MC_
178 / / 13.01.2005
Цитата:
Originally posted by Azaze1

Кстати, кто-то там выше спрашивал про программное сжатие .mdb. Если интересно, вот код:

//WSCurrConn должна быть ConnectionString текущего TADOConnection, WSTempDB - путь к временной базе. Потом переименовываешь временную в текущую и все. Hу есессно у пользователя должны быть права и на момент сжатия всех надо отключить.
//---------
WideString WSCurrConn, WSTempDB;
Variant JE = Variant::CreateObject ("JRO.JetEngine");
try
{
HRESULT hResult = JE.OleFunction ("CompactDatabase", WSCurrConn,
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + WSTempDB);
}
__finally
{
JE = Unassigned;
}
Vladimir V. Polyakov



У меня выскакивает еррор

 
Код:
Project raised exception class EOleSysError with message "Bad variable type"


что не так?
1.8K
08 декабря 2005 года
Azaze1
102 / / 08.01.2005
Цитата:
Originally posted by _MC_
У меня выскакивает еррор
 
Код:
Project raised exception class EOleSysError with message "Bad variable type"

что не так?


на какой строке выскакивает? тут вааапще-то только два варианта, но всё же разница принципиальная м.б.

471
09 декабря 2005 года
_MC_
178 / / 13.01.2005
Цитата:
Originally posted by Azaze1
на какой строке выскакивает? тут вааапще-то только два варианта, но всё же разница принципиальная м.б.



 
Код:
HRESULT hResult=JE.OleFunction("CompactDatabase", WSCurrConn,
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+WSTempDB);
1.8K
10 декабря 2005 года
Azaze1
102 / / 08.01.2005
Цитата:
Originally posted by _MC_
 
Код:
HRESULT hResult=JE.OleFunction("CompactDatabase", WSCurrConn,
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+WSTempDB);


Неверный тип переменной - это значицца ты в параметрах JE.OleFunction передаёшь переменные типа AnsiString вместо WideString. Должно быть именно WideString

Код:
WideString WSCurrConn, WSTempDB;
WSCurrConn = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\123.mdb;Persist Security Info=False";
WSTempDB = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\132_temp.mdb";

Variant JE =Variant::CreateObject("JRO.JetEngine");
try
{
    HRESULT hResult = JE.OleFunction("CompactDatabase",WSCurrConn ,
        WSTempDB);
}
__finally
{
    JE = Unassigned;
}
471
16 декабря 2005 года
_MC_
178 / / 13.01.2005
Цитата:
Originally posted by Azaze1
Неверный тип переменной - это значицца ты в параметрах JE.OleFunction передаёшь переменные типа AnsiString вместо WideString. Должно быть именно WideString
Код:
WideString WSCurrConn, WSTempDB;
WSCurrConn = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\123.mdb;Persist Security Info=False";
WSTempDB = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\132_temp.mdb";

Variant JE =Variant::CreateObject("JRO.JetEngine");
try
{
    HRESULT hResult = JE.OleFunction("CompactDatabase",WSCurrConn ,
        WSTempDB);
}
__finally
{
    JE = Unassigned;
}



Сделал, теперь ошибка:
"Project test.exe raised exception class EoleSysError with message 'Exception occurred'. Process stoped."

:'(

471
16 декабря 2005 года
_MC_
178 / / 13.01.2005
Цитата:
Originally posted by _MC_
Сделал, теперь ошибка:
"Project test.exe raised exception class EoleSysError with message 'Exception occurred'. Process stoped."

:'(



Эта ошибка при компиляции, а при работе все норма, даже сжимается БД. Главное чтоб БД не запортилась со временм :(

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог