RE:Crear un DSN a partir de API
Aquí tienes un pequeño ejemplo, espero que te ayude
'============================
Dim nRet As Long
Dim sDriver As String
Dim sAttributes As String
sDriver = "SQL Server"
sAttributes = "Server=" & cbSERVIDOR.Text & Chr$(0)
sAttributes = sAttributes & "DESCRIPTION=" & Trim(txtDesDSN) & Chr$(0)
sAttributes = sAttributes & "DSN=" & Trim(txtDSN) & Chr$(0)
sAttributes = sAttributes & "DATABASE=" & Trim(txtBD) & Chr$(0)
nRet = SQLConfigDataSource(vbAPINull, ODBC_ADD_DSN_SYSTEM, sDriver, sAttributes)
If nRet = 0 Then
MsgBox "Fallo al crear el DSN", vbCritical, "Error al crear el DSN"
Else
MsgBox "El DSN ha sido creado satisfactoriamente", vbInformation, "Creación de DSN"
End If
'===================================
'DECLARACIÓN DE FUNCIONES Y CONSTANTES
'===================================
'Constantes y función empleados para crear el DSN
Private Const ODBC_ADD_DSN = 1 ' Crea DSN Usuario
Private Const ODBC_CONFIG_DSN = 2 ' Edita un DSN Usuario
Private Const ODBC_REMOVE_DSN = 3 ' Quisa DSN Usuario
Private Const ODBC_ADD_DSN_SYSTEM = 4 'Crea DSN Sistema
Private Const ODBC_CONFIG_SYS_DSN = 5 'Configurar o editar un DataSource de sistema
Private Const ODBC_REMOVE_SYS_DSN = 6 'Quita DSN Sistema
Private Const vbAPINull As Long = 0&
%0