Programmatically registering a user DSN


I know that this question has probably been asked fumfty times before but...

How do I get a listing of my currently installed DSNs and User DSNs, and then how do I create a DSN?

I tried using SOFTWING odbctool.dll (I used regsvr32 odbctool.dll) but delphi didn't recognize any of the classes. If it had worked, it would have been exactly what I was looking for.

Can anybody help me?
JLANEAsked:
Who is Participating?
 
saravananrCommented:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons;

const
  ODBCCP32 = 'ODBCCP32.DLL';

  function SQLConfigDataSource(
               hwndParent:       Integer;
               fRequest:         Integer;
               lpszDriverString: String;
               lpszAttributes:   String): Integer;stdcall;



type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;


var
  Form1: TForm1;

implementation

  function SQLConfigDataSource(
               hwndParent:       Integer;
               fRequest:         Integer;
               lpszDriverString: String;
               lpszAttributes:   String): Integer; external ODBCCP32 Name 'SQLConfigDataSource';

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
  rc: Integer;
  sName, sMDB : string;
begin
    sName := 'LqODBCDsn11';
    sMDB := 'D:\PROJECTS\LQ\Speedline\InterFace Database\Data\intfacedb.db';//   ' ( app.path & "test.mdb")

{   Microsoft Access Driver (*.mdb)}
//    rc := SQLConfigDataSource(0, 1, 'Microsoft Access Driver (*.mdb)', 'DSN=' + sName +
//    Chr(0) + 'DBQ=' + sMDB + Chr(0) + Chr(0));


// return code 0 means failure
    If rc = 0 Then
        ShowMessage('Could not configure data Source.');

end;

end.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.