SQLConfigDataSource can create/edit/remove a user/system DSN
 
but i don't know how to configure named pipe、tcpip

解决方案 »

  1.   

    请问 SQLConfigDataSource 是什么?
      

  2.   

    枚举DSN
    Private Declare Function SQLDataSources Lib "ODBC32.DLL" (ByVal henv As Long, ByVal fDirection As Integer, ByVal szDSN As String, ByVal cbDSNMax As Integer, pcbDSN As Integer, ByVal szDescription As String, ByVal cbDescriptionMax As Integer, pcbDescription As Integer) As IntegerPrivate Declare Function SQLAllocEnv Lib "ODBC32.DLL" (ByRef env As Long) As Long创建/修改/删除DSN
    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
      

  3.   

    能不能帮我写出常量声明和一个简单的范例,最好是SQL Server的。
      

  4.   

    to  nik_Amis(Azrael) 我是这么写的SQLConfigDataSource 0, 4, "SQL Server", "DSN=new_dsn"
    配出来的结果是dsn、server name都是new_dsn,也就是说server name错了。我试着这么写,
    SQLConfigDataSource 0, 4, "SQL Server", "DSN=new_dsn;Server=server1"
    没有结果。
      

  5.   

    "DSN=new_dsn;Server=server1"chr(0) 分割
      

  6.   

    问题解决了,现在就差常量的生命语句了,你能贴给我吗?或告诉我得到常量声明语句的方法也行,然后就结帖。常量如下:
    ODBC_ADD_DSN
    ODBC_CONFIG_DSN
    ODBC_REMOVE_DSN
    ODBC_ADD_SYS_DSN
    ODBC_CONFIG_SYS_DSN
    ODBC_REMOVE_SYS_DSN
    ODBC_REMOVE_DEFAULT_DSN在msdn里找了半天也没找到,是我找的不对吗?
      

  7.   

    MSDN里是没有的
    *.h我发给你了,没有收到么?Private Const SQL_MAX_DSN_LENGTH        As Long = 32Private Const SQL_SUCCESS               As Long = 0
    Private Const SQL_SUCCESS_WITH_INFO     As Long = 1
    Private Const SQL_NO_DATA               As Long = 100
    Private Const SQL_ERROR                 As Long = (-1)
    Private Const SQL_INVALID_HANDLE        As Long = (-2)Private Const SQL_HANDLE_ENV            As Long = 1
    Private Const SQL_HANDLE_DBC            As Long = 2
    Private Const SQL_HANDLE_STMT           As Long = 3
    Private Const SQL_HANDLE_DESC           As Long = 4Private Const SQL_NULL_HANDLE           As Long = 0
    Public Enum EnumDSNConfig
        ODBC_ADD_DSN = 1
        ODBC_CONFIG_DSN = 2
        ODBC_REMOVE_DSN = 3
        ODBC_ADD_SYS_DSN = 4
        ODBC_CONFIG_SYS_DSN = 5
        ODBC_REMOVE_SYS_DSN = 6
        ODBC_REMOVE_DEFAULT_DSN = 7
    End EnumPublic Enum EnumSearchDSN
        SQL_FETCH_FIRST = 2
        SQL_FETCH_FIRST_USER = 31
        SQL_FETCH_FIRST_SYSTEM = 32
    End Enum我直接用的枚举类型,常数对编程比较麻烦