Здравствуйте, conceal_blaze, Вы писали: _>Мне нужно написать приложение, которое должно работать с разными БД. В framework'e есть для этого класс DbProviderFactory, который в зависимости от информации в конфигурационном файле загружает конкретную реализацию провайдера для работы с конкретной БД. Вопрос, если ли что-то подобное в C++/MFC или в каких-либо сторонних библиотеках для неуправляемого С++ или придется этот функционал реализовывать самому от начала до конца?
... сразу видно, что чел привык, что всё что угодно есть в одном месте: .Net Framework ...
!Welcome to the real world Neo!
"Дайте мне возможность выпускать и контролировать деньги в государстве и – мне нет дела до того, кто пишет его законы." (c) Мейер Ансельм Ротшильд , банкир.
Добрый день. Сразу просьба не кидать камни, я писал на .net, а вот сейчас понадобилось написать приложение на С++/MFC, поэтому может быть не точно сформулирую вопрос...
Мне нужно написать приложение, которое должно работать с разными БД. В framework'e есть для этого класс DbProviderFactory, который в зависимости от информации в конфигурационном файле загружает конкретную реализацию провайдера для работы с конкретной БД. Вопрос, если ли что-то подобное в C++/MFC или в каких-либо сторонних библиотеках для неуправляемого С++ или придется этот функционал реализовывать самому от начала до конца?
22.08.09 13:10: Перенесено модератором из 'C/C++' — Кодт
Здравствуйте, conceal_blaze, Вы писали:
_>Добрый день. Сразу просьба не кидать камни, я писал на .net, а вот сейчас понадобилось написать приложение на С++/MFC, поэтому может быть не точно сформулирую вопрос... _>Мне нужно написать приложение, которое должно работать с разными БД. В framework'e есть для этого класс DbProviderFactory, который в зависимости от информации в конфигурационном файле загружает конкретную реализацию провайдера для работы с конкретной БД. Вопрос, если ли что-то подобное в C++/MFC или в каких-либо сторонних библиотеках для неуправляемого С++ или придется этот функционал реализовывать самому от начала до конца?
в мфц CDatatbase
А так OLE DB
Здравствуйте, conceal_blaze, Вы писали:
_>Добрый день. Сразу просьба не кидать камни, я писал на .net, а вот сейчас понадобилось написать приложение на С++/MFC, поэтому может быть не точно сформулирую вопрос... _>Мне нужно написать приложение, которое должно работать с разными БД. В framework'e есть для этого класс DbProviderFactory, который в зависимости от информации в конфигурационном файле загружает конкретную реализацию провайдера для работы с конкретной БД. Вопрос, если ли что-то подобное в C++/MFC или в каких-либо сторонних библиотеках для неуправляемого С++ или придется этот функционал реализовывать самому от начала до конца?
А тебя какие именно провайдеры интересуют? Если собираешься заюзать OLEDB-шные провайдеры, то к ним можно коннектится через ADO-шные компоненты. Если хочется "по-настоящему", то можно и напрямую.
Можно совмещать и первое и второе. Я тут скачал SDK для Windows 2008 — MS наконец-то явно задокументировала стыковочные интерфейсы.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[2]: Аналог в C++ класса dbProviderFactory из .NET
Здравствуйте, Коваленко Дмитрий, Вы писали:
КД>А тебя какие именно провайдеры интересуют? Если собираешься заюзать OLEDB-шные провайдеры, то к ним можно коннектится через ADO-шные компоненты. Если хочется "по-настоящему", то можно и напрямую.
КД>Можно совмещать и первое и второе. Я тут скачал SDK для Windows 2008 — MS наконец-то явно задокументировала стыковочные интерфейсы.
Интересует поддержка БД MSSQL, MySQL, FireBird, это по минимуму. Ну на данном этапе я уже выбираю из ODBC и OLEDB. Тут разведка доложила, что ODBC уже устарело и на нем не стоит писать. Сейчас вот буду копать в сторону OLEDB. Я просто надеялся, что в С++ есть какой-то аналог системы класов фабрики провайдеров в .NET )
Фраза "Если хочется "по-настоящему"..." чет меня пугает )) так что постараюсь обойтись средствами OLEDB, если получиться...
Re[3]: Аналог в C++ класса dbProviderFactory из .NET
Здравствуйте, conceal_blaze, Вы писали:
_>Здравствуйте, Коваленко Дмитрий, Вы писали:
КД>>А тебя какие именно провайдеры интересуют? Если собираешься заюзать OLEDB-шные провайдеры, то к ним можно коннектится через ADO-шные компоненты. Если хочется "по-настоящему", то можно и напрямую.
КД>>Можно совмещать и первое и второе. Я тут скачал SDK для Windows 2008 — MS наконец-то явно задокументировала стыковочные интерфейсы.
_>Интересует поддержка БД MSSQL, MySQL, FireBird, это по минимуму. Ну на данном этапе я уже выбираю из ODBC и OLEDB. Тут разведка доложила, что ODBC уже устарело и на нем не стоит писать. Сейчас вот буду копать в сторону OLEDB. Я просто надеялся, что в С++ есть какой-то аналог системы класов фабрики провайдеров в .NET )
_>Фраза "Если хочется "по-настоящему"..." чет меня пугает )) так что постараюсь обойтись средствами OLEDB, если получиться...
да все получится. я писал довольно большой проект на С++, ATL, WTL, OLE DB. все нормально.
Re[2]: Аналог в C++ класса dbProviderFactory из .NET
Здравствуйте, Rakafon, Вы писали:
R>... сразу видно, что чел привык, что всё что угодно есть в одном месте: .Net Framework ... R>!Welcome to the real world Neo!
Спасибо, я уже понял. Я теперь, кажется, понимаю фразу "Matrix has you" )
Re[3]: Аналог в C++ класса dbProviderFactory из .NET
Здравствуйте, conceal_blaze, Вы писали:
_>Интересует поддержка БД MSSQL, MySQL, FireBird, это по минимуму. Ну на данном этапе я уже выбираю из ODBC и OLEDB. Тут разведка доложила, что ODBC уже устарело и на нем не стоит писать. Сейчас вот буду копать в сторону OLEDB. Я просто надеялся, что в С++ есть какой-то аналог системы класов фабрики провайдеров в .NET )
Я вообще не рубаюсь во всех этих терминах. По жизни писал в строке подключения "provider=<Имя COM объекта представляющего собой OLEDB провайдер>" и типа оно там "само" внутри создавала и юзала нужный провайдер. "Само" это либо ADODB, либо моя плюсовая либа для OLEDB провайдеров
_>Фраза "Если хочется "по-настоящему"..." чет меня пугает )) так что постараюсь обойтись средствами OLEDB, если получиться...
"Не бойся" (с). Если интересно, можешь посмотреть мою либу. Халявная, полностью в исходных текстах и есть разные примерчики — www.ibprovider.com. Дальше лучше общаться в частном порядке
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[4]: Аналог в C++ класса dbProviderFactory из .NET
Здравствуйте, Коваленко Дмитрий, Вы писали:
КД>Я вообще не рубаюсь во всех этих терминах. По жизни писал в строке подключения "provider=<Имя COM объекта представляющего собой OLEDB провайдер>" и типа оно там "само" внутри создавала и юзала нужный провайдер. "Само" это либо ADODB, либо моя плюсовая либа для OLEDB провайдеров
_>>Фраза "Если хочется "по-настоящему"..." чет меня пугает )) так что постараюсь обойтись средствами OLEDB, если получиться...
КД>"Не бойся" (с). Если интересно, можешь посмотреть мою либу. Халявная, полностью в исходных текстах и есть разные примерчики — www.ibprovider.com. Дальше лучше общаться в частном порядке
А OLE DB поддерживает MySQL ?
Про поддержку FireBird и MSSQL я нашел, а вот про MySQL пока не нашел...
И тот же вопрос к твоей либе, я так понял она только под FireBird и InterBase заточена или я ошибаюсь?
Re[5]: Аналог в C++ класса dbProviderFactory из .NET
Здравствуйте, conceal_blaze, Вы писали:
_>А OLE DB поддерживает MySQL ?
Ахез... Я вообще знаю только про один нормальный OLEDB провайдер
_>Про поддержку FireBird и MSSQL я нашел, а вот про MySQL пока не нашел... _>И тот же вопрос к твоей либе, я так понял она только под FireBird и InterBase заточена или я ошибаюсь?
Она заточена под OLEDB
Но скажу честно — за все время только к своему провайдеру через неё и ходил. Клиенты писали и под MSSQL и под Оракл. Вроде не жаловались
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[5]: Аналог в C++ класса dbProviderFactory из .NET
Здравствуйте, conceal_blaze, Вы писали:
_>Здравствуйте, Коваленко Дмитрий, Вы писали:
КД>>Я вообще не рубаюсь во всех этих терминах. По жизни писал в строке подключения "provider=<Имя COM объекта представляющего собой OLEDB провайдер>" и типа оно там "само" внутри создавала и юзала нужный провайдер. "Само" это либо ADODB, либо моя плюсовая либа для OLEDB провайдеров
_>>>Фраза "Если хочется "по-настоящему"..." чет меня пугает )) так что постараюсь обойтись средствами OLEDB, если получиться...
КД>>"Не бойся" (с). Если интересно, можешь посмотреть мою либу. Халявная, полностью в исходных текстах и есть разные примерчики — www.ibprovider.com. Дальше лучше общаться в частном порядке
_>А OLE DB поддерживает MySQL ? _>Про поддержку FireBird и MSSQL я нашел, а вот про MySQL пока не нашел... _>И тот же вопрос к твоей либе, я так понял она только под FireBird и InterBase заточена или я ошибаюсь?
в свое время искали MySQL провайдера. Нашли. Глюкавый. Пришлось напильником затачивать. При переходе на новую версию MySQL отказался работать. Плюнули и подключались через ODBC провайдера