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


Источник данных. Управление соединениями (ODBC)

Данный раздел относится к классам ODBC библиотеки MFC.

Содержание раздела:

  • Настройка источника данных

  • Воздействие многопользовательской среды на источник данных и его наборы записей

  • Необходимость в создании строки подключения к источнику данных

  • Подключение к источнику данных

  • Отключение от источника данных

  • Повторное использование объекта CDatabase

Подключение к источнику данных предполагает установление соединения с СУБД для получения доступа к данным. При подключении к источнику данных из приложения посредством драйвера ODBC драйвер производит подключение локально или через сеть.

Подключение возможно к любому источнику данных, для которого имеется драйвер ODBC. Пользователи приложения должны иметь тот же драйвер ODBC для источника данных. Дополнительные сведения о распространении драйверов ODBC см. в разделе Распространение компонентов ODBC среди клиентов.

Настройка источника данных

Для настройки источников данных используется администратор ODBC. Администратор ODBC может также использоваться после установки для добавления или удаления источников данных. При создании приложений можно либо предоставить пользователям возможность добавлять источники данных непосредственно с помощью администратора ODBC, либо реализовать эту функциональность в приложении посредством прямых вызовов установки ODBC. Дополнительные сведения см. в разделе Администратор ODBC.

В качестве источника данных может использоваться файл Excel. Файл необходимо настроить так, чтобы он был зарегистрирован и отображался в диалоговом окне Выбор источника данных.

Использование файла Excel в качестве источника данных

  1. Настройка файла с помощью администратора источников данных ODBC.

  2. На вкладке Файл DSN нажмите Добавить.

  3. В диалоговом окне Создание нового источника данных выберите драйвер Excel и нажмите кнопку Далее.

  4. Нажмите кнопку Обзор и выберите файл, который должен использоваться в качестве источника данных.

Примечание

Чтобы отобразить XLS-файлы, может потребоваться выбрать в раскрывающемся меню пункт Все файлы.

  1. Нажмите кнопку Далее, а затем Готово.

  2. В диалоговом окне Настройка ODBC Microsoft Excel выберите версию базы данных и рабочую книгу.

Работа в многопользовательской среде

При подключении к источнику данных нескольких пользователей они могут изменять данные, в то время как над ними выполняются операции в наборах записей. В то же время результаты этих операций могут влиять на наборы записей других пользователей. Дополнительные сведения см. в разделах Наборы записей: обновление записей в наборах записей (ODBC) и Транзакции (ODBC).

Создание обобщенной строки подключения

Для установления подключения к источнику данных мастерами используется строка подключения по умолчанию. Это подключение используется в процессе разработки приложения для просмотра таблиц и столбцов. Однако строка подключения по умолчанию может оказаться непригодной для пользовательских подключений к источнику данных посредством приложения. Например, источник данных и путь к его расположению могут отличаться от использованных при разработке приложения. В этом случае следует создать более обобщенную реализацию функции-члена CRecordset::GetDefaultConnect и удалить реализацию, созданную мастером. Например, можно воспользоваться одним из перечисленных ниже подходов:

  • Регистрация и управление строками подключения с помощью администратора ODBC.

  • Отредактируйте строку подключения и удалите имя источника данных. Среда .NET Framework предоставляет ODBC в качестве источника данных; во время выполнения ODBC выводит диалоговое окно с запросом имени источника данных и иных необходимых сведений о подключении.

  • Предоставляется только имя источника данных. ODBC запрашивает идентификатор пользователя и при необходимости пароль. Например, перед приведением к обобщенному виду строка подключения выглядит следующим образом:

    CString CApp1Set::GetDefaultConnect()
    {
       return "ODBC;DSN=afx;Trusted_Connection=Yes;";
    }
    

    В этой строке подключения задается надежное подключение с использованием встроенной системы безопасности Windows NT. Следует избегать жесткого кодирования паролей или указания пустого пароля, поскольку это создаст серьезную уязвимость в системе безопасности. Вместо этого можно передать функции-члену GetDefaultConnect новую строку подключения, чтобы она производила запрос идентификатора пользователя и пароля.

    // User must select data source and supply user ID and password:
        return "ODBC;";
    // User ID and password required:
        return "ODBC;DSN=mydb;";
    // Password required (myuserid must be replaced with a valid user ID):
        return "ODBC;DSN=mydb;UID=myuserid;";
    // Hard-coded user ID and password (SECURITY WEAKNESS--AVOID):
        return "ODBC;DSN=mydb;UID=sa;PWD=777;";
    

Подключение к определенному источнику данных

Чтобы подключиться к определенному источнику данных, источник данных должен быть заранее настроен с помощью администратора ODBC.

Подключение к определенному источнику данных

  1. Создайте объект CDatabase.

  2. Вызовите его функцию-член OpenEx или Open.

Дополнительные сведения об указании источника данных, отличного от заданного с помощью мастера, см. в описании методов CDatabase::OpenEx или CDatabase::Open в Справочнике по MFC.

Отключение от источника данных

Перед вызовом функции-члена Close объекта CDatabase необходимо закрыть любые открытые наборы записей. В наборах записей, связанных с объектом CDatabase, который необходимо закрыть, все незавершенные операторы AddNew или Edit отменяются, и выполняется откат всех незавершенных транзакций.

Отключение от источника данных

  1. Вызовите функцию-член Close объекта CDatabase.

  2. Уничтожьте объект, если он не будет использоваться повторно.

Повторное использование объекта CDatabase

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

Повторное использование объекта CDatabase

  1. Закройте исходное подключение объекта.

  2. Вместо того чтобы уничтожить объект, повторно вызовите его функцию-член OpenEx или Open.

См. также

Ссылки

Класс CRecordset

Основные понятия

Источник данных (ODBC)

Источник данных. Определение схемы источника данных (ODBC)