Можно ли и как работать с базами данных из C++ Builder не используя BDE?
Требуется простое решение без установки специальной СУБД на компьютер пользователя.
По-видимому, один из ответов: ADO. Но какой использовать OLE DB провайдер так чтобы программа работала на любой машине с виндой?
Здравствуйте, IvanKodanev, Вы писали:
IK>Можно ли и как работать с базами данных из C++ Builder не используя BDE?
Можно.
Остальные вопросы заданы некорректо. Здесь ваши мысли читать не умеют.
Здравствуйте, IvanKodanev, Вы писали:
IK>Можно ли и как работать с базами данных из C++ Builder не используя BDE?
Можно. Собственно, BDE уже никто и не использует давно.
IK>Требуется простое решение без установки специальной СУБД на компьютер пользователя. IK>По-видимому, один из ответов: ADO. Но какой использовать OLE DB провайдер так чтобы программа работала на любой машине с виндой?
Вопрос в лоб: какая СУБД? Драйверы ADO — они, знаете ли, тоже для разных СУБД. И, скажем, драйвер MS SQL однозначно не станет работать с Oracle. И наоборот так же.
Здравствуйте, IvanKodanev, Вы писали:
IK>Можно ли и как работать с базами данных из C++ Builder не используя BDE?
Можно. Есть : ADO, DAO, компоненты прямого доступа (IBX, TDBF например) + всякие разные самопальные движки (для самопальных БД )
IK>Требуется простое решение без установки специальной СУБД на компьютер пользователя.
Что есть "специальная СУБД"? Найди себе компоненты для работы с DBF и будет тебе щастье, если тебе нужно просто какое-то подобие хранилища. Или вообще все в XML заверни — тоже решение имеющее право на жизнь (в отдельных случаях). Обьем данных какой?
IK>По-видимому, один из ответов: ADO. Но какой использовать OLE DB провайдер так чтобы программа работала на любой машине с виндой?
LA>Вопрос в лоб: какая СУБД? Драйверы ADO — они, знаете ли, тоже для разных СУБД. И, скажем, драйвер MS SQL однозначно не станет работать с Oracle. И наоборот так же.
СУБД надо выбрать. Такую чтоб не требовалось установки.
Здравствуйте, IvanKodanev, Вы писали:
LA>>Вопрос в лоб: какая СУБД? Драйверы ADO — они, знаете ли, тоже для разных СУБД. И, скажем, драйвер MS SQL однозначно не станет работать с Oracle. И наоборот так же. IK>СУБД надо выбрать. Такую чтоб не требовалось установки.
Ну, на выбор:
1. Ограничиваешься DBF. Масса компонентов прямого доступа, в системе есть соответствующий драйвер.
2. Paradox. В системе драйвер есть, с компонентами тоже проблем не должно быть.
3. SQLite
4. Fireird Embedded
Здравствуйте, IvanKodanev, Вы писали:
IK>Не могли бы Вы сказать, что Вам не понятно? В чём некорректность?
Задавайте грамотно вопросы и получите исчерпывающие ответы.
Вот ваш образец: IK>Можно ли и как работать с базами данных из C++ Builder не используя BDE?
IK>Требуется простое решение без установки специальной СУБД на компьютер пользователя.
Мир СУБД велик и многообразен. Требования?
1) Нужен ли многопользовательский доступ?
2) Поддержка каких фич нужна? Транзакции, внешние ключи, backup\restore, и т.д.?
3) Есть ли возможность\желание тащить сторонние dll-ки?
4) Платный\Бесплатный? Лицензия?
Ну и дальше в этом духе, что вам нужно от СУБД.
IK>По-видимому, один из ответов: ADO. Но какой использовать OLE DB провайдер так чтобы программа работала на любой машине с виндой?
ADO, OLEDB это универсальные технологии доступа к данным. Нет смысла спрашивать не ответив на предыдущий вопрос.
DM>Что есть "специальная СУБД"? Найди себе компоненты для работы с DBF и будет тебе щастье, если тебе нужно просто какое-то подобие хранилища. Или вообще все в XML заверни — тоже решение имеющее право на жизнь (в отдельных случаях). Обьем данных какой?
Объём данных небольшой — несколько мегабайт.
Можешь подсказать "компоненты для работы с DBF"?
TDBF для Делфи (на паскале). Для использования на C++ Builder как я понимаю надо иметь соответствующий хидер или как?
IK>>По-видимому, один из ответов: ADO. Но какой использовать OLE DB провайдер так чтобы программа работала на любой машине с виндой?
DM>А давай мы сначала с БД определимся, ладно?
Давай. Пусть будет Access. Тогда OLE DB провайдер: Jet. Но тут возникает вот какая проблема: какую версию Jet указывать? У меня не получилось указать Jet провайдер без указания версии. А тогда есть ли гарантия что на компе будет стоять именно эта (например, 4.0) версия?
Как решить эту проблему?
Здравствуйте, IvanKodanev, Вы писали:
IK>Объём данных небольшой — несколько мегабайт. IK>Можешь подсказать "компоненты для работы с DBF"? IK>TDBF для Делфи (на паскале). Для использования на C++ Builder как я понимаю надо иметь соответствующий хидер или как?
Такие компоненты ищутся в google. И на развалах — torry.net например.
DM>>А давай мы сначала с БД определимся, ладно?
IK>Давай. Пусть будет Access. Тогда OLE DB провайдер: Jet. Но тут возникает вот какая проблема: какую версию Jet указывать? У меня не получилось указать Jet провайдер без указания версии. А тогда есть ли гарантия что на компе будет стоять именно эта (например, 4.0) версия?
Так Access (mdb) или DBF таки? Насчет гарантии — движек включается в поставку Windows с 2000 кажется (тут я могу ошибиться!). Для остальных (9х,NT) нужно ставить Офис.
IK>Как решить эту проблему?
Нужно ВЫБРАТЬ БД. Я бы остановился на embedded Firebird — такое решение обладает многими плюсами и проект (в целом) получается не сильно "тяжелым". К тому же у тебя в билдере уже есть IBX.
LA>Ну, на выбор: LA>1. Ограничиваешься DBF. Масса компонентов прямого доступа, в системе есть соответствующий драйвер.
Можно ссылку на компонент прямого доступа для C++ Builder?
Что за драйвер, ADO? Как называется?
LA>Ну и так далее. Можно и в XML все завернуть.
А как с XML форматом работать?
DM>Так Access (mdb) или DBF таки? Насчет гарантии — движек включается в поставку Windows с 2000 кажется (тут я могу ошибиться!). Для остальных (9х,NT) нужно ставить Офис.
И какая версия движка при этом будет установлена/включена в поставку Windows с 2000 ?
DM>Нужно ВЫБРАТЬ БД. Я бы остановился на embedded Firebird — такое решение обладает многими плюсами и проект (в целом) получается не сильно "тяжелым". К тому же у тебя в билдере уже есть IBX.
А при чём тут Interbase express (IBX)?
Где взять embedded Firebird? Установка не требуется там?
IK>>Требуется простое решение без установки специальной СУБД на компьютер пользователя. NW>Мир СУБД велик и многообразен. Требования? NW>1) Нужен ли многопользовательский доступ?
Нет, не нужен. NW>2) Поддержка каких фич нужна? Транзакции, внешние ключи, backup\restore, и т.д.?
Ничего не нужно кроме простого доступа к данным. NW>3) Есть ли возможность\желание тащить сторонние dll-ки?
Если не требуют установки, то да, есть. NW>4) Платный\Бесплатный? Лицензия?
Бесплатный. NW>Ну и дальше в этом духе, что вам нужно от СУБД.
Нужен минимум возможностей — только доступ.
IK>>По-видимому, один из ответов: ADO. Но какой использовать OLE DB провайдер так чтобы программа работала на любой машине с виндой? NW>ADO, OLEDB это универсальные технологии доступа к данным. Нет смысла спрашивать не ответив на предыдущий вопрос.
Подразумевается, что можно использовать любую СУБД. Вопрос состоит в том, существуют ли OLE DB провайдеры такие чтобы программа работала на любой машине с виндой? Можете что-нибудь сказать по-существу?
Здравствуйте, IvanKodanev, Вы писали:
DM>>Так Access (mdb) или DBF таки? Насчет гарантии — движек включается в поставку Windows с 2000 кажется (тут я могу ошибиться!). Для остальных (9х,NT) нужно ставить Офис.
IK>И какая версия движка при этом будет установлена/включена в поставку Windows с 2000 ?
Читай здесь
DM>>Нужно ВЫБРАТЬ БД. Я бы остановился на embedded Firebird — такое решение обладает многими плюсами и проект (в целом) получается не сильно "тяжелым". К тому же у тебя в билдере уже есть IBX.
IK>А при чём тут Interbase express (IBX)?
Firebird — потомок IB.
IK>Где взять embedded Firebird? Установка не требуется там?
Брать на официальном сайте здесь Установка не требуется — это просто набор DLL.
DM>Во избежание ПОГ`а — приведи плз ТЗ или более подробное описание задачи (или лабы, или курсового)...
Какого ещё ПОГа?
ТЗ простое: требуется работать с простой БД "Справочник товаропроизводителей".
Здравствуйте, IvanKodanev, Вы писали:
DM>>Во избежание ПОГ`а — приведи плз ТЗ или более подробное описание задачи (или лабы, или курсового)... IK>Какого ещё ПОГа?
Программирование Очертя Голову
IK>ТЗ простое: требуется работать с простой БД "Справочник товаропроизводителей".
1) БД уже есть или ее тоже нужно разрабатывать?
2) Как работать? Т.е. только читать данные, обновлять данные, синхронизировать с внешними источниками?
3) Сколько пользователей предполагается одновременно?
4) Если это десктоп система (без связи с серверами и т.п.) — то почему вообще не ограничится Экселем или даже текстовым файлом?
IK>>ТЗ простое: требуется работать с простой БД "Справочник товаропроизводителей".
DM>1) БД уже есть или ее тоже нужно разрабатывать?
Нужно разработать.
DM>2) Как работать? Т.е. только читать данные, обновлять данные, синхронизировать с внешними источниками?
Достаточно только читать.
DM>3) Сколько пользователей предполагается одновременно?
Один.
DM>4) Если это десктоп система (без связи с серверами и т.п.) — то почему вообще не ограничится Экселем или даже текстовым файлом?
Вариант с простым файлом, хранящим структуру, тоже рассматривается. Тут смущает необходимость загружать весь файл целиком.
Размер файла — несколько мегабайт. Не будет ли каких тормозов при работе программы?
DM>Брать на официальном сайте здесь Установка не требуется — это просто набор DLL.
А почему тогда они пишут:
"Binaries are available as installer kits for all platforms that support packaged installations"?
Здравствуйте, IvanKodanev, Вы писали:
DM>>Брать на официальном сайте здесь Установка не требуется — это просто набор DLL. IK>А почему тогда они пишут: IK>"Binaries are available as installer kits for all platforms that support packaged installations"?
Блин. Качай себе embedded вариант для Win32 в zip архиве и не мучайся. Для него вся установка — распаковать архив.