Поделиться через


CDaoDatabase::Open

Необходимо вызвать это функция-член для инициализации вновь созданный объект CDaoDatabase, представляющий существующую базу данных.

virtual void Open( 
   LPCTSTR lpszName, 
   BOOL bExclusive = FALSE, 
   BOOL bReadOnly = FALSE, 
   LPCTSTR lpszConnect = _T( 
   "" ) 
);

Параметры

  • lpszName
    Строковое выражение, представляющее имя существующего файла базы данных Microsoft jet (.MDB).Если имя файла имеет расширение, то необходимо.Если ваша сеть поддерживает равномерное соглашение об именах (UNC), можно также определить сетевой путь, например "\\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB.MDB".Дублирующиеся обратные косые черты (необходимы в строковых литералах так как escape-символ "\" C++).

    Некоторые соображения применяются при использовании lpszName., Если он:

    • Относится к базе данных, которая уже открыта другим пользователем, исключительной доступа ходам MFC исключение типа CDaoException.Поглотите, что исключение для оповещения конкретному пользователю о том, что база данных недоступна.

    • Пустая строка ("") и lpszConnect "ODBC; " появится диалоговое окно в котором перечислены все зарегистрированные имена источников данных ODBC поэтому пользователь может выбрать базу данных.Следует избегать прямые соединения с источником данных ODBC; используйте вложенную таблицу.

    • В противном случае не относится к существующей базе данных или имя источника данных ODBC допустимым, MFC вызывает исключение типа CDaoException.

    ПримечаниеПримечание

    Дополнительные сведения о кодах ошибок DAO см. в разделе файл DAOERR.H.Дополнительные сведения см. в разделе "доступ к данным Перехватываемые ошибки" в Справке DAO.

  • bExclusive
    Логическое значение, TRUE если база данных его открытия исключительной (nonshared) доступа и FALSE, если база данных его открытия для общего доступа.Если этот аргумент не задан, база данных открыта для общего доступа.

  • bReadOnly
    Логическое значение, TRUE если база данных его открытия для доступа только для чтения и FALSE, если база данных его открытия для чтения и записи.Если этот аргумент не задан, база данных открыта для чтения и записи.Любые зависимые наборы записей наследующие этот атрибут.

  • lpszConnect
    Строковое выражение, используемое для открытия базы данных.Эта строка представляет собой ODBC подключается аргументы.Необходимо предоставить и эксклюзивного только для чтения аргументы для передачи строки источника.Если база данных является базой данных Microsoft jet (.MDB), то эта строка пуста ("").Синтаксис значение по умолчанию — _T("") — обеспечивает переносимости для Юникода, а также построений ANSI приложения.

Заметки

Открыть связывает базу данных с основным объектом DAO.Нельзя использовать объект базы данных в набор записей конструкции, tabledef или объекты QueryDef до тех пор, пока она не инициализируется.Открыть добавляет объект базы данных в коллекцию баз данных, связанной области.

Используйте следующие параметры.

  • Если открыть базу данных Microsoft jet (.MDB), используйте параметр lpszName и передать пустую строку для параметра lpszConnect или передается строка пароля формы "; PWD=password", если база данных защищена паролем (.MDB) базы данных.

  • При открытии источник данных ODBC, передайте допустимую строку соединения ODBC в lpszConnect и пустую строку в lpszName.

Дополнительные сведения см. в разделе "метод OpenDatabase" в Справке DAO.

ПримечаниеПримечание

Для лучшей производительности при доступе к внешним базы данных, включая базы данных ISAM, а источник данных ODBC, рекомендуется прилагаете таблицы внешней базы данных с базой данных Microsoft Jet (.MDB database engine), а не напрямую подключении к источнику данных.

Попытки соединения могут привести к истечению срока ожидания, если, например, узел СУБД, недоступны.Если попытка соединения завершается неудачно, то Открыть вызывает исключение типа CDaoException.

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

Если база данных является базой данных ODBC и параметры в вызове Открыть не содержит достаточных сведений для установления соединения ODBC, драйвер открывает диалоговое окно для получения необходимых сведений от пользователя.При вызове Открыть, строку соединения, lpszConnect, хранится закрыто и доступна, вызвав функцию-член GetConnect.

Если необходимо, можно открыть собственное диалоговое окно перед вызовом Открыть для получения сведений от пользователя, пароля, в то время как добавить эти сведения в строке соединения передается в Открыть.Или может потребоваться сохранить строку подключения передаче (возможно в реестр Windows), поэтому его можно повторно использовать его в следующий раз, когда свои вызовы Открыть приложения в объекте CDaoDatabase.

Также можно использовать строку подключения для нескольких уровней авторизации входа (каждого для другого объекта CDaoDatabase ) или передачи другие данные о базе данных- в XML-структуру.

Требования

Header: afxdao.h

См. также

Ссылки

Класс CDaoDatabase

Диаграмма иерархии

CDatabase::CDatabase

CDatabase::Close