Você está offline; aguardando reconexão

Como acessar o SQL Server no Active Server Pages

Sumário
Este artigo descreve como estabelecer conexões com o SQL Server em um script ASP usando o ActiveX Data Objects (ADO), enquanto aproveita do recurso pool de conexão do ODBC 3.0.



Mais Informações

Pool de conexão

Habilita o pool de conexão do ODBC.
Para obter informações adicionais sobre o pool de conexão e instruções sobre como habilitar este recurso, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
164221 Como habilitar o pool de conexão em um aplicativo do ODBC

DSN do ODBC

Se você usar o administrador ODBC, crie um DSN (Nome da fonte de dados) de sistema no computador no qual o IIS (Serviços de informações da Internet da Microsoft) está instalado. Especifique uma vez o atributo de conexão e use novamente em todas as páginas. Por exemplo, no evento Session_OnStart no arquivo Global.asa, defina o atributo da conexão como:
   Session("ConnectionString") =   "dsn=SQLSysDSN;uid=<username>;pwd=<strong password>;DATABASE=pubs;APP=ASP Script"				
Verifique se todas as condições a seguir são verdadeiras:
  • A caixa Conexões confiáveis não está marcada na definição DSN de sistema.
  • O modo de segurança do SQL Server não é integrado ao Windows NT.
  • No atributo da conexão, o uid não está em branco.
Caso contrário, uma conexão com o SQL Server poderá falhar e a seguinte mensagem de erro será exibida:

Erro '80004005' do provedor Microsoft OLE DB para os drivers ODBC
[Microsoft][ODBC SQL Server Driver][SQL Server] Falha de logon- Usuário: _
Motivo: Não definido como usuário válido de uma conexão de SQL Server confiável.

Global.asa

O uso do arquivo Global.asa é opcional. Em seu lugar, as entradas normalmente feitas neste arquivo podem ser colocadas na primeira página chamada pelo aplicativo. Se você assumir que os scripts ASP estão localizados em uma pasta que não está definida como um diretório virtual no Gerenciador de serviços da Internet, mas abaixo de outro diretório virtual, o arquivo Global.asa que contém variáveis da sessão e definições DSN deve ser mantido no diretório virtual. Caso contrário, a seguinte mensagem de erro será exibida:

Erro '80004005' do provedor Microsoft OLE DB para os drivers ODBC
[Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e
nenhum driver padrão especificado

Conexões em um script ASP

Aproveite as vantagens de um pool de conexão, abrindo e fechando a conexão com o banco de dados em todas as páginas do active server. Para abrir a conexão, digite as seguintes declarações na seção <Body> da página:
   <%   Set OBJdbConnection = Server.CreateObject("ADODB.Connection")   OBJdbConnection.Open Session("ConnectionString")   %>				
Para fechar a conexão, coloque o seguinte imediatemente após a tag </Body>:
   <%   OBJdbConnection.Close   Set OBJdbConnection = Nothing   %>				
É possível que as duas seguintes mensagens de erro sejam exibidas se as configurações de conexão não estiverem definidas corretamente como foi descrito anteriormente neste artigo:

Erro '80004005' do provedor Microsoft OLE DB para os drivers ODBC
[Microsoft][ODBC SQL Server Driver][DBNMPNTW]Conexão interrompida.
-ou-

Erro '80004005' do provedor Microsoft OLE DB para os drivers ODBC
[Microsoft][ODBC SQL Server Driver]Falha no link de comunicação

Aqui está um aplicativo exemplo que consiste nos arquivos Global.asa e Authors.asp. Este aplicativo exemplo irá retornar quatro colunas e todos os registros na tabela pubs chamada authors.

Observação Você deve alterar o <nome de usuário> do UID e o pwd =<senha forte > para os valores corretos antes de executa este código. Verifique se o UID possui as permissões apropriadas para realizar esta operação no banco de dados.

Global.asa
   <SCRIPT LANGUAGE=VBScript RUNAT=Server>   Sub Session_OnStart   Session("ConnectionString") =   "DSN=SQLSysDSN;UID=<username>;PWD=<strong password>;DATABASE=pubs;APP=ASP script"      Session("ConnectionTimeout") = 15      Session("CommandTimeout") = 30   End Sub   Sub Session_OnEnd   End Sub   </SCRIPT>				
Authors.asp
   <HTML>   <HEAD>   <TITLE>All Authors</TITLE>   </HEAD>   <BODY BGCOLOR="#FFFFFF">   <% Set OBJdbConnection = Server.CreateObject("ADODB.Connection")   OBJdbConnection.ConnectionTimeout = Session("ConnectionTimeout")   OBJdbConnection.CommandTimeout = Session("CommandTimeout")   OBJdbConnection.Open Session("ConnectionString")   Set SQLStmt = Server.CreateObject("ADODB.Command")   Set RS = Server.CreateObject ("ADODB.Recordset")   %>   <p>   <table border="0" bordercolor="#000000">   <%   SQLStmt.CommandText = "select * from authors"   SQLStmt.CommandType = 1   Set SQLStmt.ActiveConnection = OBJdbConnection   RS.Open SQLStmt   Do While Not RS.EOF   %>   <TR>      <TD Width = 150 ALIGN=LEFT>         <FONT SIZE=+1>         <%= RS("au_id") %>         </FONT></TD>      <TD></TD>         <TD Width = 150 ALIGN=LEFT>         <FONT SIZE=+1>         <%= RS("au_lname")  %>         </FONT></TD>      <TD Width = 150 ALIGN=LEFT>         <FONT SIZE=+1>         <%= RS("au_fname")  %>         </FONT></TD>      <TD Width = 150 ALIGN=LEFT>         <FONT SIZE=+1>         <%= RS("phone")  %>         </FONT></TD>   </TR>   <%   RS.MoveNext   Loop   %>   </table>   <hr>   <p>   </BODY>   <% OBJdbConnection.Close   Set OBJdbConnection = Nothing   %>   </HTML>				
Para obter mais informações sobre o ASP, consulte o Mapa fornecido pelo programa de instalação do ASP no servidor IIS.
Referências
Não encontrou uma resposta para sua pergunta? Visite os grupos de notícias do Microsoft SQL Server em (em inglês): Você tem comentários sobre este ou outros artigos da Base de Dados de Conhecimento Microsoft SQL Server? Contate-nos em Q169377.
browser explorer web sqlfaqtop
Propriedades

ID do Artigo: 169377 - Última Revisão: 05/14/2011 22:47:00 - Revisão: 11.0

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 6.5 Standard Edition, Microsoft SQL Server 6.0 Standard Edition, Microsoft SQL Server 4.21a Standard Edition, Microsoft Internet Information Server 3.0, Microsoft Internet Information Services 5.0, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Workgroup Edition

  • kbsqlmanagementtools kbenv kbhowto kbinterop kbtshoot KB169377
Comentários
amp;t=">