Database
 sql >> Base de Dados >  >> RDS >> Database

Criando um servidor vinculado ODBC sem configurar uma fonte de dados


Recentemente, um cliente em potencial manifestou interesse em se conectar do SQL Server a um DBMS diferente via ODBC, mas não queria o ônus de criar uma fonte de dados ODBC em cada máquina na qual a solução foi implantada.

Uma fonte de dados ODBC é um conjunto de parâmetros de configuração que permite que um driver ODBC estabeleça uma conexão com um banco de dados. No Windows, as fontes de dados ODBC são configuradas por meio de uma GUI fornecida pela Microsoft e são armazenadas no registro.

Normalmente, ao configurar um servidor vinculado baseado em ODBC no SQL Server, você especifica uma fonte de dados ODBC. No entanto, você não precisa. O SQL Server oferece suporte a conexões dsnless, onde todos os detalhes da conexão são especificados em uma cadeia de conexão. Aqui está um exemplo de string de conexão dsnlesss para nosso driver ODBC do Salesforce:
DRIVER={Easysoft Salesforce ODBC Driver};[email protected];Password=mypassword;
TOKEN=ABCDEFGH123456;

A cadeia de conexão:
  • Informa ao ODBC Driver Manager qual driver ODBC usar.
  • Fornece ao driver ODBC os detalhes de autenticação para a conexão do Salesforce.

Para usar uma conexão dsnless para criar um servidor vinculado, em Novo Servidor Vinculado caixa de diálogo no SQL Server, escolha Microsoft OLE DB Provider for ODBC Drivers , deixe a Fonte de dados campo em branco e insira sua string de conexão na String do provedor campo.

Observação Talvez seja necessário criar uma fonte de dados ODBC primeiro para descobrir quais são os nomes dos parâmetros para a cadeia de conexão. Os nomes dos parâmetros não são necessariamente iguais ao rótulo do parâmetro na caixa de diálogo de configuração do driver ODBC. Se você criar uma fonte de dados de teste e procurar essa fonte de dados nessa chave do Registro HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI , você verá os nomes dos parâmetros a serem usados.

Observação Ao testar com nosso driver Salesforce, passando UID=myuser;PWD=mypassword na cadeia de conexão falhou. A substituição desses parâmetros pelos equivalentes definidos pelo driver foi bem-sucedida (ou seja, User=myuser;Password=mypassword ).

Portanto, embora você precise instalar um driver ODBC em cada máquina SQL Server em que deseja usar um servidor vinculado, não é necessário configurar uma fonte de dados ODBC em cada (ou qualquer) máquina SQL Server.