Diferencia entre los tipos de DSN y un UDL

Actualizado el Jan 6, 2020

Reportado en

Software

  • LabVIEW Database Connectivity Toolkit
  • LabVIEW Professional
  • LabVIEW Full
  • LabVIEW Base

Detalles del problema

¿Cuál es la diferencia entre un DSN de sistema, un DSN de usuario, un DSN de archivo, un enlace de datos universal (UDL) y una conexión sin DSN?

Solución

El nombre de la fuente de datos (DSN) es una estructura de datos que contiene información sobre una base de datos. La información es necesaria para conectarse a la base de datos. Un enlace de datos universal (UDL, también conocido como enlace de datos de Microsoft) es un archivo universal que enlaza a una base de datos.

Hay muchos controladores de base de datos (o proveedores) con muchas formas de conectarse a ellos. La siguiente tabla enumera las cinco formas más comunes en las que puede interactuar con un proveedor de base de datos.
 
Método de conexión¿Quién puede acceder a ellos?Dónde se almacena la información de conexión
Archivo DSNCualquier usuario que tenga acceso al archivo.En un formato de archivo (* .dsn)
Sistema DSNCualquier usuario en ese sistemaRegistro del sistema
Usuario DSNSolo para el usuario para el que se creó esa fuente de datosRegistro del sistema
UDL (enlace de datos universal)Cualquier usuario que tenga acceso al archivo.En un formato de archivo (* .udl)
Sin DSNCualquiera que tenga acceso a los archivos de la base de datos (es decir, mdb, .xls)No hay almacenamiento estático de información de conexión (se pasa como la cadena de conexión durante el tiempo de ejecución)

Información adicional

DSN del sistema
Los DSN del sistema funcionan para cualquier persona que use ese sistema. Por ejemplo, no importa quién inicie sesión en la máquina, todos los usuarios pueden ver las DSN del sistema y se almacenan en la sección Máquina local del Registro.

DSN de usuario
Los DSN de usuario solo funcionan para un usuario específico en una máquina. Por lo tanto, si alguien que no sea la persona que creó el DSN de usuario inicia sesión en esa máquina, el DSN de usuario no aparecerá. Este DSN se almacena en la sección de usuario actual del registro.

DSN de archivo
Los DSN de archivos no se almacenan en el Registro sino en un archivo. Esto significa que puede almacenar estos DSN en disco o en red y usarlos en cualquier máquina o usuario que tenga acceso a ellos.

UDLs
El kit de herramientas de conectividad de base de datos de National Instrument utiliza OLE DB para comunicarse con las bases de datos. Si usa un DSN, entonces los comandos deben traducirse de OLE DB a ODBC a través del Proveedor OLE DB para ODBC. Por lo tanto, es más eficiente y recomendable usar UDL como método de conexión con el kit de herramientas si hay un proveedor OLE DB disponible para la base de datos.

Sin DSN
DSN-less significa que no usa un DSN para almacenar su información de conexión. En su lugar, puede solicitarlo a su usuario en tiempo de ejecución (el Analizador de consultas SQL es un buen ejemplo) o almacenar la información equivalente en otro lugar, como el registro, un archivo INI o incluso una tabla. Si realmente necesita proporcionar una conexión dinámica donde el usuario se conectará a una variedad de fuentes diferentes, muchos desarrolladores deciden usar una conexión sin DSN y simplemente almacenar la cadena de conexión en el registro, eliminando la necesidad de asegurarse de que DSN válido para la aplicación existe.