C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 4 - Связь с OLEDB провайдером / OLE DB / Visual C++

Шаг 4 - Связь с OLEDB провайдером

Для того, чтобы связаться с OLEDB провайдером нужно пройти несколько этапов и получить объект Session.

4.gif (991 b)

Для получения объекта данных необходимо вызвать функцию CoCreateInstance(). Эта функция вернет указатель на объект Data Source.

CoCreateInstance(CLSID_MailProvider, 0, CLSCTX_LOCAL_SERVER, IID_IDBInitialize, (void**) &pIDBInit);

Обратите внимание на то, что все объекты OLEDB провайдеров - это COM объекты и мы связываемся с OLEDB провайдером на основе его CLSID, который должен быть занесен в реестр. После создания объекта он находится в неинициалированном состоянии.

Пример.

 
// Step4OLEDB.cpp : Defines the entry point for the console application.
// Step by Step Site 
// http://www.mysite.int
// Kaev Artem 2000

#define INITGUID
#define DBINITCONSTANTS

#include "stdafx.h"
#include "iostream.h"
#include "oledb.h" // OLE DB файлы
#include "oledberr.h" 
const GUID CLSID_MSDASQL = {0xC8B522CBL,0x5CF3,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}};


void main()
{
	// Инициализация COM
	if (FAILED( CoInitialize(NULL) ))
	{
		cout << "Unable to initialize COM" << endl;
		return;
	}

	IDBInitialize *pIDBInitialize  = NULL;
	HRESULT hr;
	hr=CoCreateInstance(CLSID_MSDASQL,NULL,CLSCTX_INPROC_SERVER,
		IID_IDBInitialize,(void**)&pIDBInitialize);
	if (FAILED(hr)) 
	{
		cout << "CoCreateInstance Failed" << endl;
		return;
	}

	pIDBInitialize->Release();
	// Деинициализация COM
	CoUninitialize();
};

Для того, чтобы создать OLEDB провайдера необходимо запустить VC++ и создать новый проект на основе Console application.

GUID провайдера я взял из заголовочного файла для доступа OLEDB ODBC.


Загрузить проект | | |
Автор Каев Артем.
[AD]