none
Dicas de conexão ao Oracle via OLE DB RRS feed

  • Pergunta

  • Olá pessoal.

    Numa aplicação ASP, gostaria de saber se é possível, para cada sessão, eu manter uma única conexão ao banco Oracle ativa, até que a sessão seja finalizada.

    Por exemplo, a primeira vez que eu faço um acesso ao banco, numa sessão, eu gostaria de "compartilhar" os objetos de conexão criados e não a cada página, necessitar de repetir um código, isto é, dar um conect/open em cada página de acesso ao banco.

    Por exemplo (código utilizado em todas as páginas de acesso ao Oracle):

        Set Oracon = Server.CreateObject("ADODB.Connection")

        Set Oracon = Server.CreateObject("ADODB.Connection")

        'Abaixo, estou usando o Provider da Microsoft, como ele está no arquivo .UDL
        Oracon.ConnectionString = "Provider=MSDASQL.1;Password=minhasenha;Persist Security Info=True;User ID=meuusuario;Data Source=meubanco"

    Oracon.open

    ..

    ..

    Oracon.Close
    Set Oracon = Nothing

    Pois quando faço isso em todas as páginas que acesso o banco, chega uma uma hora que o IIS trava e tenho que inicializá-lo novamente.

    Obrigado,

    Tarciso

    tarmendes@hotmail.com

     

    terça-feira, 30 de janeiro de 2007 19:27

Todas as Respostas

  • Ao contrário das aplicações desktop você não consegue em uma aplicação web manter uma conexão permanente com o banco.

    Por isso que existe o pool de conexões nos melhores banco de dados, assim a conexão ao ser fechada fica em "stand by" por um determinado tempo a espera de um nova requisição antes de ser destruída.

    Outra opção utilizada em aplicações pequenas seria colocar o objeto de conexão em uma variável de sessão ou aplicação contudo em aplicações maiores se torna inviável devido a performance. A opção mais interessante seria criar um arquivo com todas as rotinas de acesso a banco encapsuladas para facilitar a manutenção e nas páginas referenciar esse arquivo via include.

    Recomendo também você usar os drives nativos da Oracle ao invés dos drivers padrões da Microsoft principalmente por serem otimizados e poderem retornar cursores de stored procedures.

    Espero ter ajudado
    quarta-feira, 31 de janeiro de 2007 12:04