Consultor Eletrônico



Kbase 70385: Conexão DSN-less com DataServer SQL Server
Autor   Marco Aurelio Scheidt - Tecnologia
Acesso   Público
Publicação   3/19/2018
Uma das reclamações mais comuns entre usuários DataServer SQL é a necessidade de configurar as fontes de dados ODBC (DSN) nas estações de cada usuário. Além do trabalho de realizar a configuração em cada estação, não existe garantia de que as informações continuarão corretas, pois a maioria dos usuários pode alterar as configurações ODBC da sua própria estação.

As duas melhores formas para evitar este trabalho extra são:

- utilizar configuração de DataServer remoto, onde as configurações serão realizadas somente no servidor;

- informar todos os parâmetros de conexão na linha de comando ou no arquivo de parâmetros (arquivo .pf), método também conhecido como DSN-less (Data Source Name less).

Neste post abordaremos a configuração DSN-less. A utilização do DataServer remoto será assunto para um post futuro.

Uma fonte de dados ODBC é um cadastro de parâmetros de conexão que ficam armazenadas no registro do sistema operacional. Se a aplicação informar todos os parâmetros no momento da conexão, não será necessária a criação do DSN. É importante ressaltar que mesmo não sendo necessário a criação da fonte de dados, o driver ODBC precisa estar instalado na estação.

O DataServer SQL provê um parâmetro especial para informar parâmetros do driver ODBC:

-Dsrv PRGRS_CONN,parâmetros

Qualquer parâmetro aceito pelo driver ODBC pode ser utilizado. O Progress não aceita espaços na lista de parâmetros do driver. Por este motivo, os espaços devem ser substituídos pelos símbolos &^.

Abaixo seguem os parâmetros para conexão com os drivers do SQL Server 2000, SQL Server 2005 e SQL Server 2008. Todos os parâmetros devem ser informados na mesma linha. Por questões de espaço de visualização no blog podem haver quebras de linha.

SQL Server 2000:

-Dsrv PRGRS_CONN,Driver={SQL&^Server};Server=srvsql;Database=tempdb;Integrated&^Security=SSPI;

SQL Server 2005:

-Dsrv PRGRS_CONN,Driver={SQL&^Native&^Client};Server=srvsql;Database=tempdb;Trusted_Connection=yes;

SQL Server 2008:

-Dsrv PRGRS_CONN,Driver={SQL&^Server&^Native&^Client&^10.0};Server=srvsql;Database=tempdb;Trusted_Connection=yes;

Abaixo um exemplo completo de arquivo .pf para conectar um Schema Holder de nome sh, um Schema Image de nome aw e utilizando o driver ODBC do SQL Server 2000:

-db sh -RO
-db sql -ld aw -dt MSS
-Dsrv PRGRS_CONN,Driver={SQL&^Server};Server=srvsql;Database=tempdb;Integrated&^Security=SSPI;

Autor: Marcos Kirchner