Data source name
Em computação, um DSN ou data source name (nome de fonte de dados, algumas vezes conhecido como nome de fonte de banco de dados, apesar de fontes de dados não serem limitadas a bancos de dados), é uma estrutura de dados usada para descrever uma conexão a uma fonte de dados. Normalmente usado em referência ao ODBC (Open Data Base Connectivity), os DNSs podem também ser definidos para o JDBC (Java Data Base Connectivity) e outros mecanismos de acesso a dados.
Os atributos DSN podem incluir, mas não são limitados a:
- nome da fonte de dados
- localização da fonte de dados
- nome de um controlador (driver) que pode acessar a fonte de dados
- ID de usuário para acesso a dados (se necessário)
- senha de usuário para acesso a dados (se necessário)
O administrador de sistema de uma máquina cliente cria um DSN separado para cada fonte de dados relevante.
A padronização de DSNs oferece um nível de indireção que várias aplicações (por exemplo: Apache/PHP e IIS/ASP) podem tirar proveito do acesso a fontes de dados compartilhadas.
Tipos de DSN
editarDois tipos de DSN existem:
- DSNs de máquina - armazenado em arquivos de configuração coletivos (por exemplo,
/etc/odbc.ini
,~/.odbc.ini
) e/ou recursos do sistema (por exemplo, Registro do WindowsHKLM\Software\ODBC\odbc.ini
)
- DSNs de arquivo - armazenados no sistema de arquivos com um DSN por arquivo
Estes são subdivididos em
- DSNs do sistema - acessíveis por qualquer e todos os processos e usuários do sistema, armazenados em uma localização centralizada (por exemplo,
/etc/odbc.ini
,/etc/odbc_file_dsns/<nomedoarquivo>
) - DSNs do usuário - acessíveis apenas pelo usuário que criou o DSN, armazenado em uma localização específica de usuário (por exemplo,
~/odbc.ini
,~/odbc_file_dsns/<nomedoarquivo>
)
Uso incorreto do termo
editarO termo DSN é algumas vezes utilizado erroneamente no lugar da string de conexão. Uma string de conexão normalmente descreve completamente uma fonte de dados, enquanto um DSN normalmente depende de alguns recursos de sistema e/ou arquivos de configuração externos.
Exemplo de uso
editarUsuários de software (por exemplo, Crystal Reports, Microsoft Excel, PHP, Perl, Python, Ruby) podem enviar consultas CRUD (Create, Read, Update, Delete) para uma fonte de dados, através do estabelecimento de uma conexão ao DSN, como no exemplo a seguir:
Dim ObjetoDeBancoDeDados1
Set ObjetoDeBancoDeDados1 = Server.CreateObject("ADODB.Connection")
ObjetoDeBancoDeDados1.Open("DSN=DSNname;")
Em PHP usando o pacote PEAR::DB para abrir uma conexão sem DSN externo (uma "conexão DSN-less", ou seja, usando uma String de Conexão), o código pode se parecer com o seguinte:
require_once("DB.php");
//$dsn = "<driver>://<username>:<password>@<host>:<port>/<database>";
$dsn = "mysql://john:pass@localhost:3306/my_db";
$db = DB::connect($dsn);
Ver também
editarLigações externas
editar- (em inglês) Data Source Name