Option Explicit
     
     '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
     
     '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     
   Private Sub Command1_Click()
 
  Dim intRet As Long
     Dim strDriver As String
     Dim strAttributes As String
  
     '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=IT" & Chr$(0)
     strAttributes = strAttributes & "DESCRIPTION=DSN_TEMP" & Chr$(0)
     strAttributes = strAttributes & "DSN=TEMP" & Chr$(0)
     strAttributes = strAttributes & "DATABASE=pubs" & Chr$(0)
     strAttributes = strAttributes & "UID=sa" & Chr$(0)
     strAttributes = strAttributes & "PWD=123456" & Chr$(0)
     Debug.Print strAttributes
     'To show dialog, use Form1.Hwnd instead of vbAPINull.
     intRet = SQLConfigDataSource(Me.hWnd, ODBC_ADD_DSN, strDriver, strAttributes)
     If intRet Then
     MsgBox "DSN Created"
     Else
     MsgBox "Create Failed"
     End IfEnd Sub
没有任何错误提示!为什么添加不成功呢》?
请高手指教!!!!!!!!!!!

解决方案 »

  1.   

    微软的文章
    http://support.microsoft.com/support/kb/articles/Q171/1/46.asp
      

  2.   

    Option Explicit      '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      'Function Declare
          #If Win32 Then          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
          #Else
              Private Declare Function SQLConfigDataSource Lib "ODBCINST.DLL" _
              (ByVal hwndParent As Integer, ByVal fRequest As Integer, ByVal _
              lpszDriver As String, ByVal lpszAttributes As String) As Integer
          #End If
    Private Sub Command1_Click()
      #If Win32 Then
              Dim intRet As Long
          #Else
              Dim intRet As Integer
          #End If
          Dim strDriver As String
          Dim strAttributes As String      '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=SomeServer" & Chr$(0)
          strAttributes = strAttributes & "DESCRIPTION=Temp DSN" & Chr$(0)
          strAttributes = strAttributes & "DSN=DSN_TEMP" & Chr$(0)
          strAttributes = strAttributes & "DATABASE=pubs" & 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 IfEnd Sub我试过,行的!看一下你的控制面板里的---数据源(ODBC)
      

  3.   

    我看过了,就是照着做的,不知道为什么就是不成功!
    你能把你的QQ或MSN告诉我么?
      

  4.   

    to  lihonggen0(李洪根,用.NET,标准答案来了
    你把用户名和密码。。
    是可以用的。