Как создать новый 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 из программы", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:
Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи , в сообщение обязательно указывайте название или ссылку на статью!