Cómo usar SQLConfigDataSource para crear un DSN del sistema de Access
Avanzado: requiere conocimientos expertos de codificación, interoperabilidad y multiusuario.
Este artículo se aplica a una base de datos de Microsoft Access (.mdb o accdb) y a un proyecto de Microsoft Access (.adp).
Resumen
No se puede crear un DSN del sistema mediante el método RegisterDatabase. Para crear un DSN del sistema, use la llamada a la API ODBC para SQLConfigDataSource.
Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía, ya sea expresa o implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Se considera que está familiarizado con el lenguaje de programación que se muestra y con las herramientas para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos adaptados a sus necesidades específicas.
Más información
En el ejemplo siguiente se usa la llamada API de SQLConfigDataSource para crear un DSN del sistema. En el ejemplo se crea un origen de datos para la base de datos de ejemplo Northwind.mdb cuando la base de datos se encuentra en C:\Northwind.mdb.
- Copie el Northwind.mdb de base de datos de ejemplo en el directorio raíz de la unidad C.
- Cree una base de datos de Access.
- Cree un módulo y escriba las líneas siguientes en la sección Declaraciones:
Option Explicit
Const ODBC_ADD_SYS_DSN = 4 'Add data source
Const ODBC_CONFIG_SYS_DSN = 5 'Configure (edit) data source
Const ODBC_REMOVE_SYS_DSN = 6 'Remove data source
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
- Escriba el procedimiento siguiente:
Function Build_SystemDSN(DSN_NAME As String, Db_Path As String)
Dim ret%, Driver$, Attributes$
Driver = "Microsoft Access Driver (*.MDB)" & Chr(0)
Attributes = "DSN=" & DSN_NAME & Chr(0)
Attributes = Attributes & "Uid=Admin" & Chr(0) & "pwd=" & Chr(0)
Attributes = Attributes & "DBQ=" & Db_Path & Chr(0)
ret = SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, Driver, Attributes)
'ret is equal to 1 on success and 0 if there is an error
If ret <> 1 Then
MsgBox "DSN Creation Failed"
End If
End Function
En la ventana Inmediato, escriba la línea siguiente y presione ENTRAR:
? Build_SystemDSN("My SampleDSN","c:\Northwind.mdb")
Haga clic enInicio, seleccione Configuración y, a continuación, haga clic en Panel de control.
En Panel de control, haga clic en Orígenes de datos ODBC, Orígenes de datos ODBC (32 bits) o ODBC de 32 bits.
Haga clic en la ficha DSN del sistema. Tenga en cuenta que Mi sampleDSN se ha agregado a la lista Orígenes de datos del sistema.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de