Главная страницаОбратная связьКарта сайта

Как создать новый DSN из программы

Автор: Vit
WEB-сайт: http://forum.vingrad.ru

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, иначе он не будет доступен


Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация по разработке на Delph - "Как создать новый DSN из программы", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info