type
TSQLConfigDataSource =
function(hwndParent: Integer;
fRequest: Integer;
lpszDriverString: string;
lpszAttributes: string): Smallint; stdcall;
function SQLConfigDataSource(hwndParent: Integer; fRequest: Integer;
lpszDriverString: string; lpszAttributes: string): Integer; stdcall;
var
func: TSQLConfigDataSource;
OdbccpHMODULE: HMODULE;
begin
OdbccpHMODULE := LoadLibrary(’c:\WINDOWS\SYSTEM\odbccp32.dll’);
if OdbccpHMODULE = 0 then
raise Exception.Create(SysErrorMessage(GetLastError));
func := GetProcAddress(OdbccpHMODULE, PChar(’SQLConfigDataSource’));
if @func = nil then
raise Exception.Create(’Error Getting adress for SQLConfigDataSource’ +
SysErrorMessage(GetLastError));
Result := func(hwndParent, fRequest, lpszDriverString, lpszAttributes);
FreeLibrary(OdbccpHMODULE);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if SQLConfigDataSource(0, 1, ‘Microsoft Excel Driver (*.xls)’,
Format(’DSN=%s;DBQ=%s;DriverID=790′, [’MyDSNName’,
‘c:\temp\temp.xls’])) <> 1 then
ShowMessage(’Cannot create ODBC alias’);
end;
PS: Ecли вы собираетесь работать с этим DSN через BDE, то надо закрыть и открыть Session, иначе он не будет доступен
Эта запись была опубликована 14.12.2007в 14:01. В рубриках: Alias. Вы можете следить за ответами к этой записи через RSS 2.0. Комментарии пока закрыты, но Вы можете оставить трекбек со своего сайта.