auto create a connect to odbc system dsn

Hi,

I want to use VB to auto create a ODBC system DSN connect tion to my SQL server, can somebody help me?

thanks

'Constant   Declaration
              Private Const ODBC_ADD_DSN = 1                         '   Add   data   source
              Private Const ODBC_CONFIG_DSN = 2                 '   Configure   (edIT)   data   source
              Private Const ODBC_REMOVE_DSN = 3                 '   Remove   data   source
              Private Const VBAPINull       As Long = 0&           '   NULL   Pointer
              Private Declare Function SQLAllocEnv Lib "odbc32.dll" (phenv&) As Integer
              'Function   Declare
                      Private Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" (ByVal hwndParent As Long, ByVal fRequest As Long, ByVal lpszDriver As String, ByVal lpszAttributes As String) As Long
                
    
  Option Explicit
    
  Private Sub Command1_Click()
  Dim intRet     As Long
              Dim strDriver     As String
              Dim strAttributes     As String
              Dim rc     As Integer     'ODBC   ?   ?   ?   ?   ?   ?
              Dim henv     As Long     'ODBC   ?   ?   ?   ?
                'rc   =   SQLAllocEnv(henv)   '   ?   ?ODBC   ?   ?   ?   ?
    
              'Set   the   driver   to   SQL   Server   because   IT   is   most   common.
              strDriver = "SQL Server"
              'Set   the   attributes   delimITed   by   null.
              'See   driver   documentation   for   a   complete
              'list   of   supported   attributes.
              strAttributes = "SERVER=TOMATO-PC" & Chr$(0)
              strAttributes = strAttributes & "DESCRIPTION=Temp DSN" & Chr$(0)
              strAttributes = strAttributes & "DSN=Action" & Chr$(0)
              strAttributes = strAttributes & "database=actionreport" & Chr$(0)
              strAttributes = strAttributes & "UID=sa" & Chr$(0)
              strAttributes = strAttributes & "PWD=1234" & Chr$(0)
              'To   show   dialog,   use   Form1.Hwnd   instead   of   VBAPINull.
              intRet = SQLConfigDataSource(VBAPINull, ODBC_ADD_DSN, _
              strDriver, strAttributes)
              If intRet Then
                      MsgBox "DSN   Created"
              Else
                      MsgBox "Create   Failed"
              End If
  End Sub

Open in new window

Simon ChenNetwork AdministratorAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

RiteshShahCommented:
very good example in microsoft site.

http://support.microsoft.com/kb/171146
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Simon ChenNetwork AdministratorAuthor Commented:
Private Const vbAPINull As Long = 0&  ' NULL Pointer


this script had error
0
RiteshShahCommented:
which script? mine or mohan's?
0
Simon ChenNetwork AdministratorAuthor Commented:
Hi, RiteshShah

Yours

Private Const vbAPINull As Long = 0&  ' NULL Pointer

in the Microsoft example

and I change  into :Private Const vbAPINull As Long = 0

it show create successfully, but I didn't see any new DSn in the ODBC
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.