Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с подключением базы Access. сделал как в прикрепленной теме:( 
:(
    Опции темы
CityAC
Дата 11.9.2007, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 3.11.2006
Где: Украина Горловка

Репутация: 1
Всего: 1




Код


CString sDriver("MICROSOFT ACCESS DRIVER (*.mdb)");
    CString BASE_FILE_NAME ("C:\\1\\base\\books.mdb");
    CString sDsn, BASE_PASS("123");

         sDsn.Format("ODBC; DRIVER={%s}; DSN=' '; DBQ=%s; UID=admin",sDriver,BASE_FILE_NAME);
    
    m_db.Open(sDsn);


Ошибка: Источник данных не найден и не указан драйвер, используемы по умолчанию

если открывать m_db.Open(NULL) и выбирать источник данных вручную все получается.
Что не так. 
И еще, что такое ODBC DAO  и т.д.?


--------------------
Вижу цель, не вижу припятствий.  
PM MAIL ICQ   Вверх
dizzy1984
Дата 12.9.2007, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 15.2.2007

Репутация: 10
Всего: 25



Неправильный синтаксис строки. 
http://www.connectionstrings.com
PM MAIL   Вверх
CityAC
Дата 12.9.2007, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 3.11.2006
Где: Украина Горловка

Репутация: 1
Всего: 1



Код


if (!m_db.IsOpen())
    {         
        //sDsn.Format("Driver={%s};Dbq=C:\\books.mdb", sDriver);
        //m_db.Open(NULL);
        m_db.Open("Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\books.mdb;Uid=Admin;Pwd=;");
        
        
    }

cделал один к одному как написано в ссылке
Ошибка: Слишком длинное имя источника данных


--------------------
Вижу цель, не вижу припятствий.  
PM MAIL ICQ   Вверх
dizzy1984
Дата 13.9.2007, 05:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 15.2.2007

Репутация: 10
Всего: 25



Тогда не знаю, вообще-то microsoft рекомендует везде, где возможно заменять метод Open класса CDatabase на OpenEx.
Вот пример кода, забирающего значение поля таблицы Authors из учебной базы biblio, входящей в поставку 6-го basic'а. Access 2000.
Код

    CDatabase Database;
         Database.OpenEx("Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\Program Files\\Microsoft Visual Studio\\VB98\\BIBLIO.MDB;Uid=;Pwd=;");
    if (Database.IsOpen())
    {
        CRecordset Recordset(&Database);
        Recordset.Open(AFX_DB_USE_DEFAULT_TYPE, "select author from authors");
        CString sTestString;
        Recordset.GetFieldValue((short)0, sTestString);
        Recordset.Close();
    }
    Database.Close();


Это сообщение отредактировал(а) dizzy1984 - 13.9.2007, 05:41
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0409 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.