Como utilizar includes para abrir e fechar conexões com bancos

Muitos programadores utilizam include para abrir a conexão com o banco de dados, porém o ODP apresenta erro dizendo que a conexão não foi fechada e o objeto não foi destruido, mesmo fechando a conexão e destruindo o objeto no final do arquivo onde está o include.

Criando função para abri conexão

Nesses casos devemos criar uma função para abrir a conexão passando os parâmetros da mesma e uma sub para fechá-la, como o exemplo abaixo (vamos chamá-lo de db.asp):

 <% function abre_conexao(ConnString,conexao) ConnString="Provider=SQLOLEDB.1;SERVER=HM87;DATABASE=nomedabase;UID=login;PWD=senha;" set conexao=server.createobject("adodb.connection") conexao.open ConnString end function   sub fecha_conexao() conexao.close set conexao = nothing end sub %> 

Na página onde será feita a conexão, coloque o include:

 <!--#INCLUDE file="db.asp" -->  

Para abrir a conexão basta chamar a sub:

 Call abre_conexao(ConnString,conexao) 

e para fechá-la chamar a sub:

 Call fecha_conexao()  

OBS: O código de programação mencionado neste artigo é uma sugestão. Contamos com sua compreensão para o fato de que a Locaweb não pode se responsabilizar por apresentar mais detalhes a respeito de sua implementação e utilização. Para mais informações, sugerimos que entre em contato com o seu desenvolvedor, pois tal conhecimento é aberto e de domínio de profissionais técnicos. Caso queira entrar em contato conosco a respeito deste tema, orientamos a abrir um chamado via HelpDesk.

Veja também


SQL Server

SQL Server Native Client 10.0 OLE DB Provider

Segurança Padrão

 Provider=SQLNCLI10;Server=EnderecoDoServidor;Database=NomeDaBaseDeDados;Uid=UsuarioSQL; Pwd=SenhaSQL; 

Database mirroring

Se sua aplicação acessa uma base de dados via ADO.NET ou SQL Native Client, você pode configurar para que o driver redirecione a conexão para o servidor com a base de dados Principal automaticamente em caso de failover. Você precisa informar o servidor principal e o servidor parceiro na string de conexão:

 Provider=SQLNCLI10;Data Source=EnderecoDoServidor;Failover Partner=EnderecoDoServidorMirror; Initial Catalog=NomeDaBaseDeDados;User Id=UsuarioSQL;Password=SenhaSQL; 

SQL Server Native Client 10.0 ODBC Driver

Segurança Padrão

 Driver={SQL Server Native Client 10.0};Server=EnderecoDoServidor;Database=NomeDaBaseDeDados; Uid=UsuarioSQL;Pwd=SenhaSQL; 

Database mirroring

Se sua aplicação acessa uma base de dados via ADO.NET ou SQL Native Client, você pode configurar para que o driver redirecione a conexão para o servidor com a base de dados Principal automaticamente em caso de failover. Você precisa informar o servidor principal e o servidor parceiro na string de conexão:

 Driver={SQL Server Native Client 10.0};Server=EnderecoDoServidor;Database=NomeDaBaseDeDados; Failover_Partner=EnderecoDoServidorMirror;Uid=UsuarioSQL;Pwd=SenhaSQL; 

SQL Native Client 9.0 OLE DB provider

Segurança Padrão

 Provider=SQLNCLI;Server=EnderecoDoServidor;Database=NomeDaBaseDeDados; Uid=UsuarioSQL; Pwd=SenhaSQL; 

Database mirroring

Se sua aplicação acessa uma base de dados via ADO.NET ou SQL Native Client, você pode configurar para que o driver redirecione a conexão para o servidor com a base de dados Principal automaticamente em caso de failover. Você precisa informar o servidor principal e o servidor parceiro na string de conexão:

 Provider=SQLNCLI;Data Source=EnderecoDoServidor;Initial Catalog=NomeDaBaseDeDados; Failover Partner=EnderecoDoServidorMirror;User Id=UsuarioSQL;Password=SenhaSQL; 

SQL Native Client 9.0 ODBC Driver

Segurança Padrão

 Driver={SQL Server Native Client};Server=EnderecoDoServidor;Database=NomeDaBaseDeDados; Uid=UsuarioSQL;Pwd=SenhaSQL; 

Database mirroring

Se sua aplicação acessa uma base de dados via ADO.NET ou SQL Native Client, você pode configurar para que o driver redirecione a conexão para o servidor com a base de dados Principal automaticamente em caso de failover. Você precisa informar o servidor principal e o servidor parceiro na string de conexão:

 Driver={SQL Server Native Client};Server=EnderecoDoServidor;Database=NomeDaBaseDeDados; Failover_Partner=EnderecoDoServidorMirror;Uid=UsuarioSQL;Pwd=SenhaSQL; 

.NET Framework Data Provider for SQL Server

Segurança Padrão

 Data Source=EnderecoDoServidor;Initial Catalog=NomeDaBaseDeDados;User Id=UsuarioSQL;Password=SenhaSQL; 

Database mirroring

Se sua aplicação acessa uma base de dados via ADO.NET ou SQL Native Client, você pode configurar para que o driver redirecione a conexão para o servidor com a base de dados Principal automaticamente em caso de failover. Você precisa informar o servidor principal e o servidor parceiro na string de conexão:

 Data Source=EnderecoDoServidor;Initial Catalog=NomeDaBaseDeDados; Failover Partner=EnderecoDoServidorMirror;User Id=UsuarioSQL;Password=SenhaSQL; 

Microsoft SQL Server OLE DB Provider

Segurança Padrão

 Provider=sqloledb;Data Source=EnderecoDoServidor;Initial Catalog=NomeDaBaseDeDados; User Id=UsuarioSQL;Password=SenhaSQL; 

Microsoft SQL Server ODBC Driver

Segurança Padrão

 Driver={SQL Server};Server=EnderecoDoServidor;Initial Catalog=NomeDaBaseDeDados; User Id=UsuarioSQL;Password=SenhaSQL; 

MySQL

MySQL Connector/ODBC 5.1

Segurança Padrão

 Driver={MySQL ODBC 5.1 Driver};Server=EnderecoDoServidor;Port=3306;Database=NomeDaBaseDeDados; User=UsuarioSQL; Password=SenhaSQL;Option=3; 

MySQL Connector/Net

Segurança Padrão

 Server=EnderecoDoServidor;Database=NomeDaBaseDeDados;Uid=UsuarioMySQL;Pwd=SenhaMySQL;Port=3306; 

PostgreSQL

PostgreSQL ANSI

 Driver={PostgreSQL ANSI};Server=EnderecoDoServidor;Port=5432;Database=NomeDaBaseDeDados;Uid=UsuarioSQL;Pwd=SenhaSQL; 

PostgreSQL UNICODE

 Driver={PostgreSQL UNICODE};Server=EnderecoDoServidor;Port=5432;Database=NomeDaBaseDeDados;Uid=UsuarioSQL;Pwd=SenhaSQL; 

Referências

Oracle

Oracle Provider for OLE DB

TNS-less connection string

 Provider=OraOLEDB.Oracle.1;Data Source=(DESCRIPTION=(CID=GTU_APP)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP) (HOST=EnderecoDoServidor)(PORT=PortaDoServidor)))(CONNECT_DATA=(SID=SIDdoOracle)(SERVER=DEDICATED))); User Id=UsuarioOracle;Password=SenhaOracle; 

MS Access

ACE OLEDB 12.0

Segurança Padrão

 Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:/home/LOGIN_DE_FTP/dados/bancoAccess.accdb; Persist Security Info=False; 

ACE OLEDB 12.0

Utilizando Senha

 Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:/home/LOGIN_DE_FTP/dados/bancoAccess.accdb; Jet OLEDB:NOME_DO_BANCO Password=SENHA_DO_BANCO; 

Microsoft Jet OLE DB 4.0

Segurança Padrão

 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/home/LOGIN_DE_FTP/dados/bancoAccess.mdb; 

Veja também


O artigo ajudou ?
SimNão

36 Comments

I simply got here throughout your post and turned into promptly captivated by way of your insights. Your perspective fish for is both uncomplicated and concept-provoking. it is manifest that you’ve achieved pretentiously delve into, and your province to introduce the facts in an attracting means is wonderful. this is a subject i’ve been interested in after a while, and your post has provided me with a brand new outlook. thanks for sharing your https://cialisbov.com/.

Beyaz Eşya Servisi: Birçok beyaz eşya servisi bulunmaktadır. Ancak, güvenilir ve kaliteli hizmet sunan birini seçmek önemlidir. Beyaz eşya servisi konusunda uzmanlaşmış birkaç firma bulunmaktadır. Bu firmalar, deneyimli teknisyenlerle donatılmıştır ve çeşitli marka ve modellerdeki beyaz eşyalarınızın tamiri ve bakımı konusunda uzmanlaşmışlardır.

hello there and thank you for your info – I have definitely picked up something new from right here. I did however expertise a few technical issues using this site, since I experienced to reload the web site lots of times previous to I could get it to load correctly. I had been wondering if your web hosting is OK? Not that I’m complaining, but sluggish loading instances times will very frequently affect your placement in google and can damage your high quality score if ads and marketing with Adwords. Anyway I am adding this RSS to my e-mail and could look out for much more of your respective fascinating content. Make sure you update this again very soon..

Good day! This post couldn’t be written any better! Reading through this post reminds me of my old room mate! He always kept talking about this. I will forward this write-up to him. Pretty sure he will have a good read. Many thanks for sharing!

Deixe uma resposta