Здравствуйте, RussianFellow, Вы писали:
RF>Какие средства используются в C++ для работы с базами данных, помимо ODBC и OLE DB?
Зависит от того что используется в проекте и что надо. Можно: soci, qt, odb
Re: Какие средства используются в C++ для работы с базами данных?
Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, RussianFellow, Вы писали:
RF>>Какие средства используются в C++ для работы с базами данных, помимо ODBC и OLE DB?
К>sqlite К>Berkley DB
К>Или нужны именно клиентские обвязки к SQL-серверам?
слышал про какие-то адаптеры не зависящие от типа базы, даже с облаками sql обмениваются (?)
gok
Re: Какие средства используются в C++ для работы с базами данных?
Здравствуйте, RussianFellow, Вы писали:
RF>Какие средства используются в C++ для работы с базами данных, помимо ODBC и OLE DB?
У баз данных есть свои библиотеки, вот через них и работают. Так же есть возможность использовать через плагины унифицирующие операции с ними. Чисто для примера возьмём плагин qt к постгрес: https://packages.debian.org/ru/sid/libqt4-sql-psql
Этот пакет устанавливает модуль PostgreSQL для Qt 4.
Установите его если собираетесь создавать или использовать приложения Qt4, работающие с базами данных PostgreSQL.
libpq -- это C-библиотека, позволяющая пользовательским программам подключаться к серверу баз данных PostgreSQL. Сервер может находиться на другой машине и быть доступен про протоколу TCP/IP. Данная версия libpq совместима с серверами PostgreSQL версии 8.2 и выше.
В пакете содержится библиотека времени выполнения, необходимая для пакетов, использующих libpq.
PostgreSQL -- это объектно-ориентированная реляционная система управления базой данных SQL
Header files and static library for compiling C programs to link with the libpq library in order to communicate with a PostgreSQL database backend.
PostgreSQL is an object-relational SQL database management system.
Можно так же пройтись по SQLite, MySQL и другим. Это были базы данных SQL, помимо них существуют NoSQL. Ну, для пример, можем взять Memcached. Традиционно добавляем вначало lib, а в конец -dev, получаем libmemcached-dev: https://packages.debian.org/ru/sid/libmemcached-dev
C and C++ client library to the memcached server (development files)
libmemcached is a C and C++ client library to the memcached server (http://memcached.org/). It has been designed to be light on memory usage, thread safe, and provide full access to server side methods.
A few notes on its design:
* Synchronous and Asynchronous support.
* Access to large object support.
* Local replication.
* TCP and Unix Socket protocols.
* A half dozen or so different tuneable hash algorithms.
* Implementations of the new cas, replace, and append operators.
* Man pages written up on entire API.
* Implements both modulo and consistent hashing solutions.
* Tools to Manage your Memcached networks.
This package provides the development files.
Вообще-то я базы данных напрямую не использую, просто подал идею о том, как искать библиотеки.
Re[2]: Какие средства используются в C++ для работы с базами да
Здравствуйте, RussianFellow, Вы писали:
RF>Какие средства используются в C++ для работы с базами данных, помимо ODBC и OLE DB?
Применяются также: ADO и DAO.
Re[3]: Какие средства используются в C++ для работы с базами да
Здравствуйте, pagid, Вы писали:
P>Здравствуйте, AndrewJD, Вы писали:
AJD>>ODBC де-факто стандарт сейчас. OLE DB заброшен и больше не развивается. P>ODBC развивается?
OTL — это отличная свободная библиотека для ODBC: http://otl.sourceforge.net/home.htm
P.S. Эта библиотека развивается постоянно. Вот новости по релизу за 12 Февраля: http://otl.sourceforge.net/otl3_whatn.htm
Уже включили опцию поддержки для C++14 — молодцы!
Здравствуйте, AndrewJD, Вы писали:
AJD>Здравствуйте, AlexGin, Вы писали:
AG>>OTL — это отличная свободная библиотека для ODBC: AG>>http://otl.sourceforge.net/home.htm
AG>>P.S. Эта библиотека развивается постоянно. Вот новости по релизу за 12 Февраля: http://otl.sourceforge.net/otl3_whatn.htm AG>>Уже включили опцию поддержки для C++14 — молодцы!
AJD>Если нужна обвертка вокуруг ODBC — есть неплохая либа с минимум шлака: nanodbc
Спасибо, уважаемый AndrewJD, но я уже несколько лет как применяю OTL — особенно для MFC проектов.
Re[6]: Какие средства используются в C++ для работы с базами
Здравствуйте, AlexGin, Вы писали:
AG>Здравствуйте, AndrewJD, Вы писали:
AJD>>Здравствуйте, AlexGin, Вы писали:
AG>>>OTL — это отличная свободная библиотека для ODBC: AG>>>http://otl.sourceforge.net/home.htm
AG>>>P.S. Эта библиотека развивается постоянно. Вот новости по релизу за 12 Февраля: http://otl.sourceforge.net/otl3_whatn.htm AG>>>Уже включили опцию поддержки для C++14 — молодцы!
AJD>>Если нужна обвертка вокуруг ODBC — есть неплохая либа с минимум шлака: nanodbc AG>Спасибо, уважаемый AndrewJD, но я уже несколько лет как применяю OTL — особенно для MFC проектов.
Несколько в сторону. Пробую OTL: как цепляете Access без DSN? Никакие строки отсюда не помогают.
MS SQL нормально соединяется. Проекты х64 как консольный и MFC c odbc32.lib из C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib\x64
Спасибо!
Здравствуйте, RussianFellow, Вы писали:
RF>Какие средства используются в C++ для работы с базами данных, помимо ODBC и OLE DB?
Работать напрямую с OLE DB — это довольно специфическое занятие.
Я использую свою обертку. Как и свой OLE DB провайдер. Ссылка на сайт — в верхнем правом углу
Поскольку обертка была написана во времена BCB3/BCB5, она получилась относительно специфичной. Но тем не менее на ней был написан большой проект для одной местной гос. конторы (сервисы, рабочие места и все такое...). А сейчас на ней пишутся тесты для провайдера (но уже только на VS2010+).
Все ошибки проектирования этой обертки были учтены при создании замены для System.Data.OleDb, с которой реально приятно работать. Но, увы, это для .NET
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[7]: Какие средства используются в C++ для работы с базами
Здравствуйте, gok, Вы писали:
gok>Несколько в сторону. Пробую OTL: как цепляете Access без DSN? Никакие строки отсюда не помогают.
MS Access — я нормально цеплял, через тот же ODBC драйвер, (было такое несколько лет назад).
Именно через стандартный ODBC и с созданием соответствующего DSN:
Работа через ODBC — это создание источника данных с соответствующим DSN (Data Source Name).
ЕМНИП имеется такая вот особенность для MS Access:
строки могут быть до 256 символов (возможно, в современных версиях этого ограничения нет).
gok>MS SQL нормально соединяется. Проекты х64 как консольный и MFC c odbc32.lib из C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib\x64 gok>Спасибо!
Наздоровье!
P.S. Если приложение 32-х разрядное, брать администратор ODBC (odbcad32.exe) из папки: C:\Windows\SysWOW64
Здравствуйте, AlexGin, Вы писали:
AG>Здравствуйте, gok, Вы писали:
gok>>Несколько в сторону. Пробую OTL: как цепляете Access без DSN? Никакие строки отсюда не помогают. AG>MS Access — я нормально цеплял, через тот же ODBC драйвер, (было такое несколько лет назад). AG>Именно через стандартный ODBC и с созданием соответствующего DSN: AG>Image: Access_odbc1.jpg AG>Работа через ODBC — это создание источника данных с соответствующим DSN (Data Source Name). AG>ЕМНИП имеется такая вот особенность для MS Access: AG>строки могут быть до 256 символов (возможно, в современных версиях этого ограничения нет).
gok>>MS SQL нормально соединяется. Проекты х64 как консольный и MFC c odbc32.lib из C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib\x64 gok>>Спасибо! AG> Наздоровье!
AG>P.S. Если приложение 32-х разрядное, брать администратор ODBC (odbcad32.exe) из папки: C:\Windows\SysWOW64
Эх, надеялся OTL может работать без DSN