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


Мастер объекта-получателя OLE DB в ATL

Этот мастер недоступен в Visual Studio 2019 и более поздних версиях.

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

Примечание.

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

Список элементов пользовательского интерфейса

  • Источник данных

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

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

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

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

    • Вкладка Соединение

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

      Для данных SQL:

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

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

        Примечание.

        Имеется проблема безопасности с функцией "Разрешить сохранение пароля" диалогового окна "Свойства канала передачи данных". В области Enter information to log on to the server (Введите данные для входа на сервер) есть два переключателя:

        • Использовать встроенную систему безопасности Windows NT.
        • Использовать указанные имя пользователя и пароль

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

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

        - или -

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

      Для данных ODBC:

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

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

        - или -

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

        Примечание.

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

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

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

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

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

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

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

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

    • Вкладка Все

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

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

  • Class

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

  • H-файл

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

  • Attributed

    Этот параметр определяет, будет ли мастер создавать классы объектов-получателей, используя атрибуты или объявления шаблона. При выборе этого параметра мастер использует атрибуты вместо объявлений шаблона (это параметр по умолчанию). При отмененном параметре мастер использует объявления шаблона вместо атрибутов.

    • Если вы выберете тип объекта-получателя из таблицы, мастер использует атрибуты 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'
      

      Дополнительные сведения см . в базовой механике атрибутов .

  • Тип

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

    • Таблицу

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

    • Command

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

  • Поддержка

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

    • Изменение

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

    • Insert

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

    • Удаление

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

См. также

Adding an ATL OLE DB Consumer (Добавление объекта-получателя ATL OLE DB)
Добавление функциональных возможностей с помощью мастеров кода
Connection Strings and Data Links (OLE DB) (Строки подключения и каналы передачи данных (OLE DB))