Data Source Name

DSN es una palabra abreviada del inglés (Data Source Name) (en español, Nombre Fuente de datos o Nombre de origen de datos), que representa todo lo rel…

Data Source Name

DSN es una palabra abreviada del inglés (Data Source Name) (en español, Nombre Fuente de datos o Nombre de origen de datos), que representa todo lo relativo a una fuente de datos configurada por el usuario para conectarse a una Base de datos. Es decir, por cada conexión que el usuario quiera establecer con algún(os) fabricante(s), tiene que especificar una serie de información que permitan al Controlador o Driver saber con qué fabricante(s) se tiene que conectar y la cadena de conexión que tiene que enviarle a dicho fabricante(s) para establecer la conexión con la fuente de datos ODBC accedida por el proveedor en cuestión

Dentro del ODBC, se debe crear un DSN (Data Source Name) de tipo sistema o usuario. Para ello nos colocamos en la solapa correspondiente (DSN sistema o DSN usuario) y seleccionamos "Añadir". A continuación se nos pedirá seleccionar Driver de la aplicación que hemos utilizado para crear la base de datos, el nombre que le queremos asignar (aquel que empleemos en nuestros scripts) y el camino para encontrarla en el disco duro.

Esta DSN permite en realidad definir la base de datos que será interrogada sin necesidad de pasar por la aplicación que hayamos utilizado para construirla, es decir, con simples llamadas y órdenes desde un programa podremos obtener los datos que buscamos sin necesidad de ejecutar el manejador de la base de datos como Microsoft Access o el MySQL los cuales, evidentemente, no tendrán por qué encontrarse en el servidor donde trabajemos.[1][2]

Tipos de nombre de fuente de datos

Existen dos tipos de DSN:

  • DSNs de máquina – almacenados en archivos de configuración colectivos (por ejemplo, , ) y/o recursos del sistema (por ejemplo, Registro de Windows /etc/odbc.ini, ~/.odbc.ini) y/o recursos del sistema (por ejemplo, Registro de Windows HKLM\Software\ODBC\odbc.ini)
  • DSN de archivo – almacenados en el sistema de archivos con un DSN por archivo

Estos se desglosan aún más en

  • DSN del sistema – accesibles por cualquier proceso y usuario del sistema, almacenados en una ubicación centralizada (por ejemplo, , /etc/odbc.ini, /etc/odbc_file_dsns/<filename>)
  • DSN de usuario – accesibles solo por el usuario que creó la DSN, almacenados en una ubicación específica del usuario (por ejemplo, , ~/.odbc.ini, ~/odbc_file_dsns/<filename>)

Ejemplo de uso

Los usuarios de software (por ejemplo, Crystal Reports, Microsoft Excel, PHP, Perl, Python, Ruby) pueden enviar consultas CRUD (Crear, Leer, Actualizar, Eliminar) a una fuente de datos estableciendo una conexión con la DSN.

El código ASP (VBScript) para abrir una conexión DSN podría ser lo siguiente:

Dim DatabaseObject1
Set DatabaseObject1 = Server.CreateObject("ADODB.Connection")
DatabaseObject1.Open("DSN=example;")

En PHP usando el paquete PEAR::D B[3]​ para abrir una conexión sin un DSN externo (una "conexión sin DSN", es decir, usando una cadena de conexión), el código podría parecerse a lo siguiente:

require_once("DB.php");
//$dsn = "<driver>://<username>:<password>@<host>:<port>/<database>";
$dsn = "mysql://john:pass@localhost:3306/my_db";
$db = DB::connect($dsn);

PHP con PDO:[4]

$dsn = "mysql:host=localhost;dbname=example";
$dbh = new PDO($dsn, $username, $password);

En Perl, usando el módulo Perl DBI, cada controlador tiene su propia sintaxis para los atributos DSN. El único requisito que establece DBI es que toda la información, excepto el nombre de usuario y la contraseña, se proporcione en una sola cadena de argumentos.

my $dsn = "DBI:Pg:database=finance;host=db.example.com;port=$port";
   $dsn = "DBI:mysql:database=$database;host=$hostname;port=$port";
   $dsn = "DBI:Oracle:host=$host;sid=$sid;port=$port";
   $dsn = "DBI:SQLite:dbname=$dbfilename";

my $dbh = DBI->connect($dsn,'username','password');

Véase también

Referencias

  1. «data source name (DSN)» (en inglés). Consultado el 17 de julio de 2019. 
  2. «Data Source Name (DSN)» (en inglés). Consultado el 17 de julio de 2019. 
  3. Pear. «Package Information: DB» (en inglés). Consultado el 16 de agosto de 2026. 
  4. «PHP: PDO - Manual». www.php.net (en inglés). Consultado el 22 de enero de 2025. 

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.