枚举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
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我直接用的枚举类型,常数对编程比较麻烦
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
配出来的结果是dsn、server name都是new_dsn,也就是说server name错了。我试着这么写,
SQLConfigDataSource 0, 4, "SQL Server", "DSN=new_dsn;Server=server1"
没有结果。
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里找了半天也没找到,是我找的不对吗?
*.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我直接用的枚举类型,常数对编程比较麻烦