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