Создание простого объекта-получателя
Мастер объекта-получателя ATL OLE DB недоступен в Visual Studio 2019 и более поздних версиях. Эту функцию все еще можно добавить вручную. Дополнительные сведения см. в статье Creating a Consumer Without Using a Wizard (Создание объекта-получателя без помощи мастера).
Используйте мастер проектов ATL и мастер объекта-получателя ATL OLE DB, чтобы создать объект-получатель шаблонов OLE DB.
Создание консольного приложения для объекта-получателя OLE DB
В меню Файл последовательно выберите пункты Создатьи Проект.
Откроется диалоговое окно Создание проекта .
На панели Типы проектов щелкните папки Установленные>Visual C++>Классическое приложение Windows, а затем щелкните значок Мастер классических приложений Windows на панели Шаблоны. В поле Имя введите имя проекта, например MyCons.
Щелкните OK.
Появится мастер Проект классического приложения Windows.
На странице Параметры приложения выберите Консольное приложение, а затем выберите Add common header files for ATL (Добавить общие файлы заголовков для ATL).
Щелкните ОК, чтобы закрыть мастер и создать проект.
Затем используйте мастер объекта-получателя ATL OLE DB, чтобы добавить объект объекта-получателя OLE DB.
Создание объекта-получателя с помощью мастера объекта-получателя ATL OLE DB
В обозревателе решений щелкните правой кнопкой мыши проект
MyCons
.В контекстном меню выберите Добавить и Новый элемент.
Откроется диалоговое окно Добавление нового элемента.
На панели Категории щелкните Установленные>Visual C++>Библиотека ATL, щелкните значок Объект-получатель OLEDB библиотеки ATL на панели Шаблоны, а затем выберите Добавить.
Появится мастер объекта-получателя ATL OLEDB.
Нажмите кнопку Источник данных.
Появится диалоговое окно Data Link Properties (Свойства канала передачи данных).
В диалоговом окне Data Link Properties (Свойства канала передачи данных) сделайте следующее.
На вкладке Поставщик укажите поставщика OLE DB.
На вкладке Подключение укажите необходимые данные, такие как имя сервера, идентификатор входа и пароль для источника данных и базы данных на сервере.
Примечание.
Возникла проблема безопасности с функцией Разрешить сохранение пароля диалогового окна Data Link Properties (Свойства канала передачи данных). Введите сведения для входа на сервер, есть две переключатели: использование встроенной безопасности Windows NT и использование определенного имени пользователя и пароля.
Примечание.
Если вы выберете Использование указанных имени пользователя и пароля, появится возможность сохранить пароль (с помощью флажка Разрешить сохранение пароля); тем не менее, этот параметр небезопасен. Рекомендуется выбрать Использовать встроенную систему безопасности Windows NT; этот параметр использует Windows NT для подтверждения личности.
Примечание.
Если нельзя использовать встроенную систему безопасности Windows NT, необходимо использовать приложение промежуточного уровня, чтобы запросить у пользователя пароль или сохранить пароль в расположении с механизмом безопасности (а не в исходном коде) для обеспечения его безопасности.
После выбора поставщика и других параметров щелкните Проверить подключение, чтобы проверить параметры, выбранные на предыдущих страницах диалогового окна. Если в поле Результаты появится сообщение
Test connection succeeded
, щелкните ОК, чтобы создать канал передачи данных.
Появится диалоговое окно Выберите объект базы данных.
Используйте элемент управления в виде дерева, чтобы выбрать таблицу, представление или хранимую процедуру. Для этого примера выберите таблицу
Products
из базы данныхNorthwind
.Щелкните OK. При этом произойдет возврат в мастер объекта-получателя ATL OLE DB.
Мастер создает имена для
Class
и H-файла на основе имени таблицы, представления или хранимой процедуры, которые вы выбрали. При необходимости эти имена можно заменить.Снимите флажок Attributed (С атрибутами), чтобы мастер создал код объекта-получателя, используя классы шаблонов OLE DB вместо атрибутов объекта-получателя OLE DB по умолчанию.
В разделе Тип выберите Команда.
Мастер создает объект-получатель на основе CCommand, если вы выберете Команда, или CTable, если вы выберете Таблица. Имя класса таблицы или команды соответствует выбранному объекту, но вы можете его изменить.
В разделе Поддержка оставьте пустыми поля Изменить, Вставить и Удалить.
Установите флажки Изменить, Вставить и Удалить для поддержки изменения, вставки и удаления записей в наборе строк. Дополнительные сведения о записи данных в хранилище данных см. в статье Updating Rowsets (Обновление наборов строк).
Щелкните Готово, чтобы создать объект-получатель.
Мастер создает класс команд и класс записей пользователя, как показано в статье Consumer Wizard-Generated Classes (Классы, создаваемые мастером объекта-получателя). Класс команд будет иметь имя, указанное вами в поле Class
мастера (в этом случае CProducts
), а класс записей пользователя получит имя в форме "Имя классаAccessor" (в этом случае CProductsAccessor
).
Примечание.
Мастер помещает следующую строку в Products.h
:
#error Security Issue: The connection string may contain a password
Примечание.
Эта строка предотвращает компиляцию приложения объекта-получателя и напоминает о проверке строки подключения для паролей, жестко заданных в коде. После проверки строки подключения можно удалить эту строку из кода.