Ola Yolanda que tal? Aqui tienes un Api para crear DSN de usuario, es pero que te sirva, a mi me funciona, Suerte:En la versión 32 bits de VB es posible usar conexiones sin DSN, pero como la versión de 16 bits del
ODBC no puede manejar esta sintaxis no es posible hacerlo con el VB 4.0 16. Podemos simularlo
creando y eliminando dinámicamente el DSN empleando la función SQLConfigDataSource del API de
ODBC.
Los siguientes ejemplos en 16 y 32 bits muestran esta técnica. Se ha incluído código de 32 bits porque
tiene también otros usos que veremos a continuación. Las técnicas de 32 bits presentadas pueden
aplicarse también en VB 5.0.
El poder establecer una conexión sin DSN tiene ventajas:
1 - Simplicidad. El usuario no necesita preocuparse de crear el DSN, nombrarlo correctamente, establecer
sus opciones, etc. Esto lo hace dinámicamente la aplicación.
2 - Incrementa la flexibilidad de la aplicación.
Todo esto puede ser realizado en ODBC de 16 bits creando y eliminando un DSN dinámicamente. Este
método es útil también para un manejo simple de DSN. Podremos crear, modificar y eliminar DSNs en
cualquier momento. Visual Basic permite crear un DSN empleando el método
DBEngine.RegisterDatabase, pero el API de ODBC nos da mayor funcionalidad y la posibilidad de
modificar y eliminar un DSN también.
Declaramos las constantes y funciones necesarias :
'declaracion de constantes
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
'delcaracio