Для определения источника данных во время выполнения существует DataLink диалог. Создать или отредактировать ADO Connection с помощью DataLink поможет IDataSourceLocator (OLE DB). Пример кода:
// DataLocator.cpp : Defines the entry point for the console application. // #include "stdafx.h" #import "C:\Program Files\Common Files\System\ado\msado21.tlb" \ rename("EOF","ADOEOF") rename("BOF","ADOBOF") #import "C:\Program Files\Common Files\System\ole db\Oledb32.dll" int main(int argc, char* argv[]) { CoInitialize(NULL); MSDASC::IDataSourceLocatorPtr dl=NULL; ADODB::_ConnectionPtr pConn=NULL; try { dl.CreateInstance(__uuidof(MSDASC::DataLinks)); pConn=dl->PromptNew(); if(NULL==pConn) return -1; pConn->Open(pConn->ConnectionString, L"", L"", -1 ); } catch (_com_error&) { return -1; } CoUninitialize(); return 0; } |