Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Базы данных > Как указать имя ODBC источника данных?


Автор: LeoKiyv 9.4.2012, 21:00
Здравствуйте. Только начал изучать MFC и ODBC.
Разбираю этот пример:
http://www.firststeps.ru/mfc/odbc/r.php?1
Сначала сделал все как сказано в руководстве:
с помощью  AppWizard создал приложение диалоговое окно с одной кнокой и к этой кнопке привязал событие нажатия:
Код

void CDiaDlg::OnButton1()
{
    //AfxMessageBox("Open");
    CDatabase cdbMyDB;
    try
    {
        cdbMyDB.Open("MS Access 97 Database");
        if (cdbMyDB.IsOpen())
            AfxMessageBox("Ok Open Base");
        else
            AfxMessageBox("Not Open");
        cdbMyDB.Close();
    }
    catch(...)
    {
        AfxMessageBox("Error Open DNS");
    }
}

Потом как сказано в руководстве:
http://www.firststeps.ru/mfc/odbc/r.php?2
настраиваю источник ODBC. Зашел в Панель управления->Администрирование->Источники данных ODBC
Перешел на вкладку "Файловый DNS". Вот тут у меня возникла проблема.

http://s2.ipicture.ru/Gallery/Viewfull/9837253.html

Добавил Driver for Microsoft Access *.mdb предварительно созданную в Access базу данных.
Вот только в настройках не могу ввести "Имя источника данных", так как поле не активно, как показано на скриншоте:

http://s2.ipicture.ru/Gallery/Viewfull/9837238.html

А это необходимо указывать, чтобы потом открыть эту базу данных, как показано в примере:
Код

cdbMyDB.Open("MS Access 97 Database");

Как мне назвать базу данных и что я делаю не так?

И ещё, в первом руководстве написано:
Для установки соединения Вам необходимо вызвать функцию Open. Вот её описание.

Код

virtual BOOL Open( LPCTSTR lpszDSN, BOOL bExclusive = FALSE,
    BOOL bReadOnly = FALSE, LPCTSTR lpszConnect = "ODBC;",
    BOOL bUseCursorLib = TRUE );
throw( CDBException, CMemoryException );

Извиняюсь за глупый вопрос, но куда мне добавить этот код?
Буду благодарен за советы и подсказки.

Автор: LeoKiyv 10.4.2012, 20:53
Все, разобрался.
Просто нужно было настроить Системный DNS:
http://www.realcoding.net/teach/dreamweaver/Glava%2017/Index4.htm
Добавил "Системный источник данных" и назвал MS Access 97 Database как показано в примере.
После этого база данных открылась.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)