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


мастер потребитель OLE DB библиотеки ATL

Этот мастер устанавливает класс потребителей OLE DB с привязкой данных, необходимой для доступа к указанному источнику данных при помощи заданного поставщика OLE DB.

Примечание

В этом мастере необходимо нажать кнопку Источник данных, чтобы выбрать источник данных перед вводом имен в поля Class и H-файл.

  • Источник данных
    Кнопка Источник данных позволяет установить заданный источник данных, используя выбранного поставщика OLE DB. При нажатии этой кнопки появляется диалоговое окно Свойства связи с данными. Дополнительные сведения о построении строк соединения и диалогового окна Свойства связи с данными см. в разделе Общие сведения о связи с данными API документации SDK для Windows.

    Примечание

    В предыдущих выпусках при нажатии кнопки Источник данных с одновременным удержанием клавиши Shift открывалось диалоговое окно "Открытие файла", в котором можно было выбрать файл канала передачи данных (UDL-файл).Эти функциональные возможности больше не поддерживаются.

    Диалоговое окно имеет четыре вкладки.

    • Вкладка Поставщик

    • Вкладка Подключение

    • Вкладка Дополнительно

    • Вкладка Все

      Следующие дополнительные сведения описывают вкладки в диалоговом окне Свойства связи с данными.

      В завершение нажмите кнопку ОК. Появится диалоговое окно Выбор объектов базы данных. В этом диалоговом окне выберите таблицу, представление или хранимую процедуру, которые будет использовать объект-получатель.

      • Поставщик
        Выберите соответствующего поставщика для управления соединением с источником данных. Тип поставщика, как правило, определяется типом базы данных, к которой выполняется подключение. Нажмите кнопку Next или перейдите на вкладку Подключение.

      • Соединение
        Содержимое этой вкладки зависит от выбранного поставщика. Хотя существует много типов поставщиков, в этом подразделе рассматривается подключение к двум наиболее распространенным: поставщикам данных SQL и ODBC. Другие имеют аналогичные вариации в описанных здесь полях.

        Для данных SQL:

        1. Выберите или введите имя сервера: щелкните меню раскрывающегося списка для отображения всех зарегистрированных серверов данных в сети и выберите один.

        2. Для входа на сервер использовать: введите имя пользователя и пароль для входа на сервер данных.

        3. Выберите базу данных на сервере: щелкните меню раскрывающегося списка для отображения всех баз данных на сервере и выберите одну.

          – или –

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

          Примечание

          Функция "Разрешить сохранение пароля" диалогового окна "Свойства: канал передачи данных" может представлять угрозу безопасности.В окне "Введите сведения для входа на сервер" есть два переключателя:

          Использовать встроенную безопасность Windows NT

          Использовать специальное имя и пароль

          Если выбрать Использовать специальное имя и пароль, то будет доступна функция сохранения пароля (с помощью флажка "Разрешить сохранение пароля"). Однако использование данной функции небезопасно. Рекомендуется установить флажок Использовать встроенную безопасность Windows NT. Этот параметр является безопасным, потому что он шифрует пароль.

          Бывают ситуации, в которых имеет смысл выбрать команду "Позволить сохранить пароль". Например, если выпускается библиотека с решением для закрытой базы данных, следует не обращаться к базе данных напрямую, а использовать вместо этого приложение среднего уровня для проверки пользователя (с помощью любой выбранной схемы проверки подлинности) и затем ограничивать род данных, доступных пользователю.

          Для данных ODBC:

          1. Укажите источник данных: можно использовать имя источника данных или строку подключения.

          Используйте имя источника данных: в этом раскрывающемся списке отображаются источники данных, зарегистрированные на машине. Можно заранее настроить источники данных с помощью ODBC Data Source Administrator. -или- Использовать строку подключения: Введите уже полученную строку подключения или нажмите кнопку Построение; откроется диалоговое окно Выбор источника данных. Выберите файл или машинный источник данных и нажмите кнопку OK.

          Примечание

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

          2. Для входа на сервер использовать: введите имя пользователя и пароль для входа на сервер данных.

          3. Введите исходный каталог.

          4. Нажмите кнопку Проверить подключение; если проверка прошла успешно, нажмите кнопку ОК. Если нет, проверьте учетные данные, попробуйте другую базу данных или другой сервер данных.

      • Дополнительно
        Параметры сети: укажите Impersonation level (уровень олицетворения, который сервер может использовать при олицетворении клиента; соответствует непосредственно уровням олицетворения RPC) и уровень защиты (уровень защиты данных, пересылаемых между клиентом и сервером; соответствует непосредственно уровням защиты RPC).

        Другие: в тайм-аут подключения, укажите количество секунд разрешенного времени ожидания, прежде чем возникнет тайм-аут. В окне Права доступа укажите права доступа на подключение для передачи данных.

        Дополнительные сведения о расширенных свойствах инициализации см. в документации, поставляемой с каждым определенным поставщиком OLE DB.

      • Все
        На этой вкладке отображается сумма свойств инициализации заданных источника данных и подключения. Эти значения можно редактировать.

      В завершение нажмите кнопку ОК. Появится диалоговое окно Выбор объектов базы данных. В этом диалоговом окне выберите таблицу, представление или хранимую процедуру, которые будет использовать объект-получатель.

  • Class
    После выбора источника данных в это окно вводится имя класса по умолчанию (см. далее раздел Выбор источника данных). Имя класса можно изменять.

  • H-файл
    После выбора источника данных в это окно вводится имя класса заголовка по умолчанию, на основании выбранной таблицы или процедуры (см. далее раздел Выбор источника данных). Можно редактировать имя файла заголовка или выбрать из существующих файлов заголовка.

  • Атрибутированный.
    С помощью данной настройки можно указать, будет ли мастер создавать классы потребителя с использованием атрибутов или объявлений шаблонов. При выборе этой настройки мастер использует атрибуты, а не объявления шаблонов (это — настройка по умолчанию). При отмене выбора этой настройки мастер использует объявления шаблонов, а не атрибуты.

    • Если выбран Тип потребителя таблицы, мастер использует атрибуты db_source и db_table для создания таблицы и объявлений класса метода доступа к таблице, и использует db_column для создания соответствия между столбцами, например:

      // Inject table class and table accessor class declarations
      [
          db_source("<initialization_string>"),
          db_table("dbo.Orders")
      ]
      ...
      // Column map
          [ db_column(1, status=m_dwOrderIDStatus,         length=m_dwOrderIDLength) ] LONG m_OrderID;
          [ db_column(2, status=m_dwCustomerIDStatus,         length=m_dwCustomerIDLength) ] TCHAR m_CustomerID[6];
          ...
      

      вместо использования класса шаблонов CTable для объявления таблицы и класса метода доступа к таблице, и макросы BEGIN_COLUMN_MAP и END_COLUMN_MAP для создания соответствия между столбцами, например:

      // Table accessor class
      class COrdersAccessor;
      // Table class
      class COrders : public CTable<CAccessor<COrdersAccessor> >;
      ...
      // Column map
      BEGIN_COLUMN_MAP(COrderDetailsAccessor)
          COLUMN_ENTRY_LENGTH_STATUS(1, m_OrderID,         m_dwOrderIDLength, m_dwOrderIDStatus)
          COLUMN_ENTRY_LENGTH_STATUS(2, m_CustomerID,         m_dwCustomerIDLength, m_dwCustomerIDStatus)
          ...
      END_COLUMN_MAP()
      
    • Если выбирается Тип потребителя команды, мастер использует атрибуты db_source и db_command, и использует db_column для создания соответствия между столбцами, например:

      [
          db_source("<initialization_string>"),
          db_command("SQL_command")
      ]
      ...
      // Column map using db_column is the same as for consumer type of 'table'
      

      вместо использования команды и объявлений классов доступа к команде в H-файле класса команды, например:

      Command accessor class:
      class CListOrdersAccessor;
      Command class:
      class CListOrders : public CCommand<CAccessor<CListOrdersAccessor> >;
      ...
      // Column map using BEGIN_COLUMN_MAP ... END_COLUMN_MAP is the same as
      // for consumer type of 'table'
      

    Дополнительные сведения см. в разделе Basic Mechanics of Attributes.

  • Type
    Выберите один из этих переключателей для указания, будет класс потребителя производным от CTable или CCommand (по умолчанию).

    • Таблица
      Выберите этот параметр, если нужно использовать CTable или db_table для создания таблицы и объявлений класса метода доступа к таблице.

    • Команда
      Выберите этот параметр, если нужно использовать CCommand или db_command для создания команды и объявлений класса метода доступа к команде. Это — выбор по умолчанию.

  • Поддержка
    Эти флажки выбираются для указания видов обновления, которые должны поддерживаться в потребителе (по умолчанию ничего не поддерживается). Каждый из следующих элементов устанавливает DBPROP_IRowsetChange и соответствующие записи для DBPROP_UPDATABILITY в сопоставлении набора свойств.

    • Изменение
      Указывает, что потребитель поддерживает обновления данных строки в наборе строк.

    • Вставить
      Указывает, что потребитель поддерживает вставку строк в набор строк.

    • Delete
      Указывает, что потребитель поддерживает удаление строк из набора строк.

См. также

Задачи

Добавление потребителя OLE DB библиотеки ATL

Ссылки

Строки соединения и ссылки на данные (OLE DB)

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

Добавление функциональных возможностей с помощью мастеров кода