Série de palestras ASP (16) Acessando o banco de dados
Autor:Eve Cole
Data da Última Atualização:2009-05-30 19:58:46
ActiveX Data Objects (ADO) é uma tecnologia extensível e fácil de usar para adicionar acesso a banco de dados a páginas da Web. Você pode usar o ADO para escrever scripts compactos e concisos para conectar-se a bancos de dados compatíveis com Open Database Connectivity (ODBC) e fontes de dados compatíveis com OLE DB. Se você for um criador de scripts com algum conhecimento de conexões de banco de dados, descobrirá que as instruções de comando do ADO não são complicadas e fáceis de dominar. Da mesma forma, se você for um programador de banco de dados experiente, apreciará a independência avançada de linguagem e os recursos de processamento de consultas do ADO.
Criando o arquivo ODBC DSN Antes de criar o script de banco de dados, você deve fornecer uma maneira para o ADO localizar, identificar e se comunicar com o banco de dados. O driver de banco de dados usa um nome de fonte de dados (DSN) para localizar e identificar um banco de dados compatível com ODBC específico para passar informações do aplicativo Web para o banco de dados. Normalmente, um DSN contém configuração de banco de dados, segurança do usuário e informações de localização e pode ser obtido como uma tabela em uma chave de registro do Windows NT ou como um arquivo de texto.
Com ODBC, você pode escolher o tipo de DSN que deseja criar: usuário, sistema ou arquivo. Os DSNs do usuário e do sistema são armazenados no registro do Windows NT. O DSN do sistema permite que todos os usuários conectados a um servidor específico acessem o banco de dados, enquanto o DSN do usuário restringe as conexões do banco de dados a usuários específicos usando credenciais de segurança apropriadas. O arquivo DSN é usado para obter tabelas de arquivos de texto, fornece acesso a vários usuários e pode ser facilmente transferido de um servidor para outro copiando o arquivo DSN. Por esses motivos, os exemplos neste tópico usam DSNs de arquivo.
Você pode criar arquivos baseados em DSN abrindo o Painel de Controle no menu Iniciar do Windows. Clique duas vezes no ícone ODBC, selecione a página de propriedades Arquivo DSN, clique em Adicionar, selecione o driver de banco de dados e clique em Avançar. Siga as instruções abaixo para configurar o DSN do software de banco de dados.
Configurando DSN de arquivo para banco de dados Microsoft Access
Na caixa de diálogo Criar nova fonte de dados, selecione Driver do Microsoft Access na caixa de listagem e clique em Avançar.
Digite o nome do arquivo DSN e clique em Avançar.
Clique em Concluir para criar a fonte de dados.
Na caixa de diálogo Configuração do ODBC Microsoft Access 97, clique em Selecionar. Selecione o arquivo de banco de dados do Microsoft Access (*.mdb) e clique em OK.
NOTA Por motivos de desempenho e confiabilidade, recomendamos fortemente que você use um Mecanismo de Banco de Dados Cliente-Servidor para configurar dados orientados por aplicativos Web que devem estar acessíveis a mais de 10 usuários simultaneamente. Embora o ASP possa usar qualquer banco de dados compatível com ODBC, ele foi projetado e rigorosamente testado para uso com bancos de dados cliente-servidor, incluindo Microsoft ®
ASP oferece suporte a bancos de dados de arquivos compartilhados (como Microsoft Access ou FoxPro) como fontes de dados válidas. Embora alguns exemplos na documentação do ASP usem bancos de dados de arquivos compartilhados, recomendamos usar esses mecanismos de banco de dados apenas para cenários de desenvolvimento ou de implantação limitada. Bancos de dados de arquivos compartilhados podem não ser adequados para bancos de dados cliente-servidor que atendem a aplicativos Web de alta demanda e alta qualidade.
Configurar o DSN do arquivo de banco de dados SQL Server
Observação Se o banco de dados residir em um servidor remoto, entre em contato com o administrador do servidor para obter informações adicionais de configuração. O procedimento a seguir usa as configurações padrão de ODBC do SQL Server, que podem não se aplicar à sua configuração de hardware.
Na caixa de diálogo Criar nova fonte de dados, selecione SQL Server na caixa de listagem e clique em Avançar.
Digite um nome para o arquivo DSN e clique em Avançar.
Clique em Concluir para criar a fonte de dados.
Digite o nome, ID de login e senha do servidor que executa o programa de serviço SQL.
Na caixa de diálogo Criar Nova Fonte de Dados para SQL Server, digite o nome do servidor que contém o banco de dados SQL Server na caixa de listagem Servidor e clique em Avançar.
Selecione como verificar seu ID de login.
Se você escolher a autenticação do SQL Server, insira um ID de login e uma senha e clique em Avançar.
Na caixa de diálogo Criar nova fonte de dados para SQL Server, defina o banco de dados padrão, o driver para configurações de procedimento armazenado e a identificação ANSI e clique em Avançar. (Para obter mais informações, clique em Ajuda.)
Na caixa de diálogo (também chamada Criar uma nova fonte de dados para SQL Server), selecione um método de conversão de caracteres e clique em Avançar. (Para obter mais informações, clique em Ajuda.)
Na próxima caixa de diálogo (também chamada “Criar uma nova fonte de dados para SQL Server”), selecione configurações de login.
Observação Normalmente, você só pode usar logs para depurar problemas de acesso ao banco de dados.
Na caixa de diálogo Configuração ODBC do Microsoft SQL Server, clique em Testar fonte de dados. Se o DSN tiver sido criado corretamente, a caixa de diálogo Resultados do Teste indicará que o teste foi concluído com êxito.
Informações de conexão e segurança do SQL Server Se você estiver desenvolvendo um aplicativo de banco de dados ASP que se conecta a um banco de dados remoto do SQL Server, considere os seguintes problemas:
Opções de conexão - Você pode escolher entre soquetes TCP/IP e pipes nomeados para acessar o banco de dados remoto do SQL Server. Ao usar pipes nomeados, como o usuário do banco de dados deve ser autenticado no Windows NT antes que uma conexão possa ser estabelecida, os usuários com identidades de acesso apropriadas do SQL Server, mas sem uma conta de usuário do Windows NT no computador, poderão ter acesso negado ao pipe nomeado. Como alternativa, uma conexão que utiliza soquetes TCP/IP pode ser conectada diretamente ao servidor de banco de dados sem passar por um computador intermediário usando pipes nomeados. Como você pode conectar-se diretamente ao servidor de banco de dados usando uma conexão de soquete TCP/IP, os usuários podem obter acesso por meio da autenticação do SQL Server sem precisar autenticar-se pelo Windows NT.
Nota O uso de soquetes TCP/IP pode melhorar o desempenho ao conectar-se a bancos de dados remotos.
Segurança - Se você estiver usando os recursos de segurança integrados ou mistos do SQL Server e o banco de dados do SQL Server estiver em um servidor remoto, não será possível usar a confirmação de solicitação/resposta do Windows NT. Ou seja, o ID de solicitação/resposta do Windows NT não pode ser encaminhado para o computador remoto, mas apenas a Autenticação Básica pode ser usada, que se baseia nas informações de nome de usuário e senha do usuário.
Para obter mais informações sobre este tópico, consulte http://www.microsoft.com/sqlsupport/
Página inicial do suporte técnico do Microsoft SQL Server.
Configurar o DSN do arquivo de banco de dados Oracle
Primeiro, certifique-se de que o software do usuário Oracle esteja instalado corretamente no computador no qual o DSN será criado. Para obter mais informações, entre em contato com o administrador do servidor ou consulte a documentação do software de banco de dados.
Na caixa de diálogo Criar Nova Fonte de Dados, selecione Microsoft ODBC para Oracle na caixa de listagem e clique em Avançar.
Digite um nome para o arquivo DSN e clique em Avançar.
Clique em Concluir para criar a fonte de dados.
Digite seu nome de usuário, senha e nome do servidor e clique em OK.
Observação Os arquivos DSN têm uma extensão .dsn e estão localizados no diretório ProgramsCommon FilesODBCData Sources.
Para obter mais informações sobre como criar arquivos DSN, visite o site Microsoft ODBC: http://microsoft.com/odbc/.
Conectando-se ao banco de dados A primeira etapa para acessar as informações do banco de dados é estabelecer uma conexão com a origem do banco de dados. O ADO fornece um objeto Connection que pode ser usado para estabelecer e gerenciar conexões entre aplicativos e bancos de dados ODBC. O objeto Connection possui várias propriedades e métodos que você pode usar para abrir e fechar conexões de banco de dados e fazer solicitações de consulta para atualizar informações.
Para estabelecer uma conexão com o banco de dados, primeiro crie uma instância do objeto Connection. Por exemplo, o script a seguir cria um objeto Connection e depois abre uma conexão com o banco de dados:
<%
'Cria um objeto de conexão
Definir cn = Server.CreateObject("ADODB.Connection")
'Abra uma conexão; a string refere-se ao DSN
cn.Open "FILEDSN = MeuBancoDeDados.dsn"
%>
Observação A sequência DSN não pode conter espaços antes ou depois do sinal de igual (=).
Nesse caso, o método Open do objeto Connection faz referência a um arquivo baseado em DSN que contém informações de localização e configuração sobre o banco de dados. Você também pode fazer referência explícita ao provedor, à fonte de dados, ao ID do usuário e à senha sem fazer referência ao DSN.
Executando uma consulta com um objeto Connection Usando o método Execute do objeto Connection, você pode emitir uma consulta SQL (Structured Query Language) para uma origem de banco de dados e recuperar os resultados. SQL é a linguagem padrão da indústria para comunicação com bancos de dados e possui muitos comandos para recuperar e atualizar informações.
O script a seguir usa o método Execute do objeto Connection para emitir uma consulta em uma tabela usando um comando SQL INSERT, que insere dados em uma tabela de banco de dados específica. No exemplo a seguir, o script insere o nome José Lugo em uma tabela de banco de dados chamada Clientes.
<%
'Definir DSN baseado em arquivo
strDSN = "FILEDSN=MeuBancoDeDados.dsn"
'Instancia o objeto Connection e abre uma conexão com o banco de dados
Definir cn = Server.CreateObject("ADODB.Connection")
cn.Open strDSN
'Define a instrução SQL SELECT
strSQL = "INSERT INTO Clientes (Nome, Sobrenome) VALORES ('José','Lugo')"
'Use o método Execute para emitir uma consulta SQL ao banco de dados
cn.Execute(strSQL)
%>
Observe que os arquivos baseados em sequências de caminho DSN não devem conter espaços antes e depois do sinal de igual (=).
Além do comando SQL INSERT, você também pode usar os comandos SQL UPDATE e DELETE para alterar e excluir informações do banco de dados.
Usando o comando SQL UPDATE, você pode alterar o valor de cada item na tabela do banco de dados. O script a seguir usa o comando UPDATE para alterar o campo Nome de cada registro na tabela Clientes cujo campo Sobrenome contém o sobrenome Smith para Jeff.
<%
Definir cn = Server.CreateObject("ADODB.Connection")
cn.Open "FILEDSN = MeuBancoDeDados.dsn"
cn.Execute "ATUALIZAR Clientes SET Nome = 'Jeff' WHERE Sobrenome = 'Smith' "
%>
Para excluir registros específicos de uma tabela de banco de dados, use o comando SQL DELETE. O script a seguir exclui todas as linhas com o sobrenome Smith da tabela Clientes:
<%
Definir cn = Server.CreateObject("ADODB.Connection")
cn.Open "FILEDSN = MeuBancoDeDados.dsn"
cn.Execute "DELETE FROM Clientes WHERE Sobrenome = 'Smith'"
%>
Nota Você deve ter cuidado ao usar o comando SQL DELETE. Quando você usa o comando DELETE sem uma cláusula WHERE, ele exclui todas as linhas da tabela. Certifique-se de incluir a cláusula SQL WHERE para especificar as linhas exatas a serem excluídas.
Usando objetos Recordset para processar resultados Embora o objeto Connection simplifique a tarefa de conexão com um banco de dados e consulta, o objeto Connection ainda apresenta muitas deficiências. Especificamente, o objeto Connection que recupera e exibe informações do banco de dados não pode ser usado para criar scripts; você deve saber exatamente quais alterações deseja fazer no banco de dados antes de poder usar consultas para implementar as alterações.
Para recuperar dados, verificar resultados e alterar o banco de dados, o ADO fornece objetos Recordset. Como o próprio nome indica, o objeto Recordset possui vários recursos que você pode usar para recuperar e exibir um conjunto de linhas de banco de dados, ou "registros", com base nas restrições de sua consulta. Um objeto Recordset contém a localização dos registros retornados por uma consulta, permitindo percorrer os resultados um de cada vez.
Dependendo da configuração da propriedade PointerType do objeto Recordset, você pode rolar e atualizar registros. Os ponteiros do banco de dados permitem localizar um item específico em um conjunto de registros. Os ponteiros também são usados para recuperar e examinar registros e, em seguida, executar operações com base nesses registros. Os objetos Recordset possuem propriedades que permitem controlar com precisão o comportamento dos ponteiros, melhorando sua capacidade de inspecionar e atualizar resultados. Por exemplo, você pode usar as propriedades CursorType e CursorLocation para definir o tipo de um ponteiro, retornar os resultados para o aplicativo cliente (os resultados normalmente são persistidos no servidor de banco de dados) e exibir as últimas alterações feitas no banco de dados por outros usuários .
Recuperando registros Um aplicativo de banco de dados bem-sucedido usa o objeto Connection para estabelecer o link e o objeto Recordset para processar os dados retornados. Ao “coordenar” a funcionalidade específica de dois objetos, você pode desenvolver um aplicativo de banco de dados que pode executar praticamente qualquer tarefa de processamento de dados. Por exemplo, o script do lado do servidor a seguir usa um objeto Recordset para executar um comando SQL SELECT. O comando SELECT recupera um conjunto de informações com base nas restrições de consulta. A consulta também contém uma cláusula SQL WHERE, que é usada para restringir o escopo da consulta. Neste exemplo, a cláusula WHERE limita a consulta a todos os registros que contêm o sobrenome Smith na tabela do banco de dados Clientes.
<%
'Estabeleça uma conexão com a fonte de dados
strDSN = "FILEDSN=MeuBancoDeDados.dsn"
Definir cn = Server.CreateObject("ADODB.Connection")
cn.Open strDSN
'Instancia um objeto Recordset
Definir rsCustomers = Server.CreateObject("ADODB.Recordset")
'Abra um recordset usando o método Open
' e use a conexão estabelecida pelo objeto Connection
strSQL = "SELECIONE Nome, Sobrenome FROM Clientes WHERE Sobrenome = 'Smith'"
rsCustomers.Open strSQL, cn
'Percorre o conjunto de registros e exibe os resultados
' e incrementa a posição do registro com o método MoveNext
Definir objPrimeiroNome = rsCustomers("Nome")
Definir objLastName = rsCustomers("LastName")
Faça até rsCustomers.EOF
Response.Write objFirstName & " " & objLastName & "<BR>"
rsCustomers.MoveNext
Laço
%>
Observe que no exemplo anterior, o objeto Connection foi utilizado para estabelecer a conexão com o banco de dados e o objeto Recordset utilizou a conexão para recuperar resultados do banco de dados. Este método é útil quando você precisa configurar exatamente como estabelecer um link com o banco de dados. Por exemplo, se precisar especificar quanto tempo esperar antes que uma tentativa de conexão falhe, você precisará usar o objeto Connection para definir propriedades. Entretanto, se você quiser apenas estabelecer uma conexão usando as propriedades de conexão padrão do ADO, você deverá usar o método Open do objeto Recordset para estabelecer o link:
<%
strDSN = "FILEDSN=MeuBancoDeDados.dsn"
strSQL = "SELECIONE Nome, Sobrenome FROM Clientes WHERE Sobrenome = 'Smith'"
Definir rsCustomers = Server.CreateObject("ADODB.Recordset")
'Abra uma conexão usando o método Open
'e usar a conexão estabelecida pelo objeto Connection
rsCustomers.Open strSQL, strDSN
'Percorre o conjunto de registros, exibe os resultados,
' e incrementa a posição do registro com o método MoveNext
Definir objPrimeiroNome = rsCustomers("Nome")
Definir objLastName = rsCustomers("LastName")
Faça até rsCustomers.EOF
Response.Write objFirstName & " " & objLastName & "<BR>"
rsCustomers.MoveNext
Laço
%>
Ao usar o método Open do objeto Recordset para estabelecer uma conexão, o objeto Connection deve ser usado para garantir a segurança da conexão.
Usando o objeto Command para melhorar consultas Com o objeto Command do ADO, você pode executar consultas exatamente como faria com os objetos Connection e Recordset. A única diferença é que com o objeto Command você pode preparar, compilar e iterar sua consulta no banco de dados. fonte usando um conjunto diferente de valores Emita uma consulta. A vantagem de compilar consultas dessa forma é que você pode minimizar o tempo necessário para emitir repetidamente solicitações modificadas para consultas existentes. Como alternativa, você pode deixar uma consulta SQL parcialmente indefinida antes da execução por meio de opções na parte variável da sua consulta.
A coleção de parâmetros do objeto Command evita o trabalho de reconstruir a consulta cada vez que ela é reemitida. Por exemplo, se você precisar atualizar regularmente as informações de fornecimento e preço em um sistema Web baseado em estoque, poderá predefinir a consulta da seguinte maneira:
<%
'Abra uma conexão usando o objeto Connection Objeto Command
'não possui um método Open para estabelecer uma conexão
strDSN = "FILEDSN=MeuBancoDeDados.dsn"
Definir cn = Server.CreateObject("ADODB.Connection")
cn.Open strDSN
'Instanciar objeto Command; usar a propriedade ActiveConnection para anexar
'conexão ao objeto Command
Definir cm = Server.CreateObject("ADODB.Command")
Definir cm.ActiveConnection = cn
'Definir consulta SQL
cm.CommandText = "INSERIR NO Estoque (Material, Quantidade) VALORES (?,?)"
'Salva uma versão preparada (ou pré-compilada) da consulta especificada em CommandText
'propriedade antes da primeira execução de um objeto Command.
cm.Preparado = Verdadeiro
'Definir informações de configuração dos parâmetros de consulta
cm.Parameters.Append cm.CreateParameter("material_type",200, ,255 )
cm.Parameters.Append cm.CreateParameter("quantidade",200, ,255 )
'Define e executa o primeiro insert
cm("material_type") = "lâmpadas"
cm("quantidade") = "40"
cm.Executar
'Define e executa a segunda inserção
cm("material_type") = "fusíveis"
cm("quantidade") = "600"
cm.Executar
%>
Verifique o exemplo acima e você notará que o script constrói e emite repetidamente uma consulta SQL com valores diferentes sem redefinir e reenviar a consulta para a origem do banco de dados. Compilar consultas com objetos Command também evita problemas com a mesclagem de variáveis de string e tabela causadas por consultas SQL. Em particular, problemas associados à definição dos tipos de variáveis de string, data e hora podem ser evitados usando a coleção Parameter do objeto Command. Por exemplo, um valor de consulta SQL contendo "'" pode causar falha na consulta:
strSQL = "INSERT INTO Clientes (Nome, Sobrenome) VALORES ('Robert','O'Hara')"
Observe que o sobrenome O'Hara contém um "'", que entra em conflito com o "'" usado para representar dados na palavra-chave SQL VALUES. Esse tipo de problema pode ser evitado vinculando o valor da consulta como um parâmetro do objeto Command.
Combinando tabelas HTML e bancos de dados O acesso a uma página da Web que contém uma tabela HTML permite que os usuários consultem remotamente um banco de dados e recuperem informações específicas. Usando o ADO, você pode criar scripts muito simples para coletar informações de tabelas do usuário, criar consultas personalizadas ao banco de dados e retornar informações ao usuário. Usando o objeto Solicitação ASP, você pode recuperar informações inseridas em uma tabela HTML e incorporar essas informações em uma instrução SQL. Por exemplo, o módulo de script a seguir insere informações fornecidas por uma tabela HTML em uma tabela. Este script usa a coleção Form de objetos Request para coletar informações do usuário.
<%
'Abra uma conexão usando o objeto Connection.
'não possui um método Open para estabelecer uma conexão
strDSN = "FILEDSN=MeuBancoDeDados.dsn"
Definir cn = Server.CreateObject("ADODB.Connection")
cn.Open strDSN
'Instancia objeto Comando
'e use a propriedade ActiveConnection para anexar
'conexão com o objeto Command
Definir cm = Server.CreateObject("ADODB.Command")
Definir cm.ActiveConnection = cn
'Definir consulta SQL
cm.CommandText = "INSERIR EM MySeedsTable (Tipo) VALORES (?)"
'Definir informações de configuração dos parâmetros de consulta
cm.Parameters.Append cm.CreateParameter("tipo",200, ,255 )
'Define e executa insert
cm("tipo") = Request("TipoSemente")
cm.Executar
%>
Gerenciando conexões de banco de dados O maior desafio no projeto de um aplicativo robusto de banco de dados da Web, como um aplicativo de compras on-line que atende milhares de clientes, é gerenciar adequadamente as conexões de banco de dados. Abrir e manter uma conexão de banco de dados, mesmo quando nenhuma informação está sendo transferida, pode consumir gravemente os recursos do servidor de banco de dados e causar problemas de conectividade. Um aplicativo de banco de dados da Web bem projetado reciclará as conexões do banco de dados e será capaz de compensar atrasos causados pelo congestionamento da rede.
Causando tempos limite de conexão Um aumento repentino na atividade pode tornar o servidor de banco de dados muito complicado, aumentando significativamente o tempo necessário para estabelecer uma conexão com o banco de dados. Como resultado, a latência excessiva da conexão degradará o desempenho do banco de dados.
Usando o ConnectionTimeout do objeto Connection, você pode limitar o tempo que um aplicativo espera antes de desistir da tentativa de conexão e emitir uma mensagem de erro. Por exemplo, o script a seguir define a propriedade ConnectionTimeout para aguardar 20 segundos antes de cancelar uma tentativa de conexão:
Definir cn = Server.CreateObject("ADODB.Connection")
cn.ConnectionTimeout = 20
cn.Open "FILEDSN = MeuBancoDeDados.dsn"
A propriedade ConnectionTimeout padrão é 30 segundos.
Observação Antes de incorporar a propriedade ConnectionTimeout em um aplicativo de banco de dados, certifique-se de que o provedor de conexão e a fonte de dados ofereçam suporte à propriedade.
Conexões compartilhadas Os aplicativos de banco de dados da Web que frequentemente estabelecem e interrompem conexões com o banco de dados podem degradar o desempenho do servidor de banco de dados. ASP oferece suporte ao gerenciamento eficiente de conexões usando os recursos de compartilhamento do ODBC 3.5. O compartilhamento de conexão mantém conexões de banco de dados abertas e gerencia o compartilhamento dessa conexão entre diferentes usuários para manter seu desempenho e reduzir o número de conexões ociosas. Para cada solicitação de conexão, o pool de conexões determina primeiro se há uma conexão inativa no pool. Se presente, o pool de conexões retorna a conexão em vez de estabelecer uma nova conexão com o banco de dados.
Se desejar que seu driver ODBC participe do compartilhamento de conexão, você deverá configurar o driver de banco de dados e definir a propriedade CPTimeout do driver no registro do Windows NT. Quando o ODBC é desconectado, a conexão é agrupada em vez de desconectada. A propriedade CPTimeout determina por quanto tempo uma conexão é retida no pool de conexões. Se uma conexão permanecer no pool por mais tempo que a configuração CPTimeout, a conexão será fechada e removida do pool. O valor padrão para CPTimeout é 60 segundos.
Você pode ativar o pool de conexões para um driver de banco de dados ODBC específico definindo seletivamente a propriedade CPTimeout criando uma chave de registro definida da seguinte maneira:
HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INInome-do-driverCPTimeout = tempo limite
(REG_SZ, as unidades estão em segundos)
Por exemplo, a chave a seguir define a configuração de tempo limite do pool de conexões do driver do SQL Server como 180 segundos (3 minutos).
HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INISQL ServerCPTimeout = 180
Observação Por padrão, o servidor Web ativa o pool de conexões do SQL Server definindo CPTimeout como 60 segundos.
Usando conexões entre páginas Embora você possa reutilizar conexões entre páginas armazenando conexões no objeto Application do ASP, manter a conexão sempre aberta é desnecessário e não aproveita todas as vantagens do pool de conexões. Se muitos usuários precisarem se conectar ao mesmo aplicativo de banco de dados ASP, uma boa abordagem é reutilizar a conexão do banco de dados colocando a cadeia de conexão entre páginas no objeto Aplicativo ASP. Por exemplo, você pode especificar a cadeia de conexão no procedimento de evento Application_OnStart do arquivo Global.asa, conforme mostrado no script a seguir:
Aplicativo.lock
Application("ConnectionString") = "FILEDSN=MyDatabase.dsn"
Aplicativo.unlock
Então, em cada arquivo ASP que acessa o banco de dados, escreva:
<OBJECT RUNAT=ID do servidor=cn PROGID="ADODB.Connection"> </OBJECT>
Para criar uma instância do objeto de conexão, use o seguinte script:
Aplicativo cn.Open ("ConnectionString")
Para conexões abertas, você pode escrever o seguinte script no final da página para fechar a conexão:
cn.Fechar
Em situações em que um único usuário precisa reutilizar uma conexão entre páginas, é melhor usar a conexão do objeto Session em vez do objeto Application.
Fechar a conexão Se desejar fazer melhor uso do pool de conexões, feche a conexão com o banco de dados o mais rápido possível. Por padrão, a conexão será encerrada após o término da execução do script. Fechar uma conexão quando ela não for mais necessária reduz as demandas do servidor de banco de dados e disponibiliza a conexão para outros usuários.
Você pode usar o método Close do objeto Connection para encerrar a conexão entre o objeto Connection e o banco de dados. O script a seguir abre a conexão e a fecha:
<% strDSN = "FILEDSN=MeuBancoDeDados.dsn"
Definir cn = Server.CreateObject("ADODB.Connection")
cn.Abrir
cn.Fechar
%>