Jump to content
V!c†o®

Conexão ADO (com MSSQL e MYSQL)

Recommended Posts

Olá pessoal, este é meu primeiro tutorial, vi que o fórum carece de informações sobre banco de dados com o Autoit, então resolvi compartilhar um pouco do que eu sei e utilizo sobre o tema.

 

Antes de tudo, queria apenas deixar uma observação. Até o momento eu só trabalhei em cima de BDs feitos no MYSQL OU MSSQL, não utilizei e nem precisei utilizar o SQLITE, portanto não tenho conhecimento aprofundado sobre o mesmo e não faço idéia se é possível realizar integração do SQLITE com o MSSQL, ou MYSQL, ou outro SGBD. Utilizei a solução abaixo pois já a conhecia antes de mexer no Autoit.

 

Informe: Para quem não sabe, “O ADO (ActiveX Data Objects) é um mecanismo Component Object Model criado pela Microsoft onde os programas o utilizam para a troca de informações com as bases de dados.”

fonte: http://pt.wikipedia.org/wiki/ActiveX_Data_Objects

 

Agora mãos na massa! Primeiramente devemos verificar se temos o ODBC (Open Data Base Connectivity) do SGBD(Sistema de gerenciamento de banco de dados) que vamos utilizar seja MSSQL, ou MYSQL. Para isso, segue os passos :

 

1 – Pressionar “winkey” +”r” (abre o executar do windows) ;

 

2 – Digitar “odbcad32.exe” e pressionar “Enter” - Irá abrir a janela de “Administrador de fonte de dados ODBC”;

 

3- Clicar em “Drivers” ;

 

origenes-de-datos-odbc-drivers.jpg

fonte da img: http://www.teayudo.es/conectar-un-base-de-datos-access-a-un-servidor-mysql-mediante-odbc/en/

 

4 – Verificar se a lista contém o driver do SGBD (no nosso caso, do MSSQL ou do MYSQL) a utilizar. Se já tiver, guarde o nome exatamente como está na lista pois vamos utilizá-lo + p/ frente no script. Se não tiver, procure, baixe e instale.

*importante: De preferência baixe a mesma versão do drive utilizada pelo servidor da base de dados

 

No script :

 

Conexão MSSQL:

Global $SQLcon="DRIVER={SQL Server};SERVER=xx.xx.xx.xxx; DATABASE=SuaDtBase; UID=SeuUsuario; PWD=SuaSenha;" ; //String usada para conexão. Note que em 'DRIVER={ };' devemos preencher conforme o nome que se encontra na lista de drivers ODBC do Windows
Global $db= ObjCreate ("ADODB.Connection") ;//Cria o objeto COM ADO 
$db.Open($SQLcon) ;// Abre conexão com a base de dados conforme a string de conexão em '$SQLcon'

 

Pronto! Desta forma, abrimos uma conexão ADO com uma base de dados do MSSQL!

 

Quanto ao MYSQL, é semelhante, só se altera um pouco a sintaxe da string:

 

Conexão MYSQL:

Global $SQLcon="DRIVER={MySQL ODBC 5.1 Driver};SERVER=xx.xx.xx.xxx;DATABASE=SuaDtBase;USER=SeuUsuario;PASSWORD=SuaSenha;"; //String usada para conexão. Note que em 'DRIVER={ };' devemos preencher conforme o nome que se encontra na lista de drivers ODBC
Global $db= ObjCreate ("ADODB.Connection") ;//Cria o objeto COM ADO 
$db.Open($SQLcon) ;// Abre conexão com a base de dados conforme a string de conexão em '$SQLcon'

 

Para interagir com a base de dados, devemos utilizar as propriedades do nosso Objeto "ADODB.Connection". Abaixo segue as + usadas:

 

.Open() - Abre conexão com na BD;

.Close() - Fecha conexão com na BD;

.State() - Retorna o status da conexão (se esta aberta ou fechada);

.Execute() - Executa uma query na BD. Ex.: $db.Execute("select*from tb_exemplo")

 

Para saber + sobre outras propriedades e outros objetos ver: http://www.macoratti.net/ado.htm

  • Like 7

Share this post


Link to post
Share on other sites

Vlw, fazia um tempinho que eu queria ter feito esse tutorial, mas estava com falta de tempo p fazer. '^^

 

Tentei ser o + claro possivel, mas sei que é um tema meio complicado. Portanto

qualquer duvida, fico feliz em ajudar. ;)

Share this post


Link to post
Share on other sites

Prá mim vai ser o ponto de partida pois não tenho noção nenhuma de banco de dados, obrigado por compartilhar conosco.

Share this post


Link to post
Share on other sites

Espero que num pare por qui quanto mais tutoris desse melhor!

Muito bom mesmo Obrigado V!c†o®

Share this post


Link to post
Share on other sites

Meus parabéns, muito bom mesmo, só falta adicionar sobre a biblioteca SQLite.au3 do AutoIt para completar o tutorial!

 

Abraços,

 

João Carlos.

Share this post


Link to post
Share on other sites

Agradeço a todos pelo reconhecimento, espero poder contribuir + assim como muitos de vcs, que compartilharam seus conhecimentos em diversas postagens, contribuiram comigo. Aprendi mt neste Forum! :lol:

 

Meus parabéns, muito bom mesmo, só falta adicionar sobre a biblioteca SQLite.au3 do AutoIt para completar o tutorial!

 

É verdade, me sobrando um tempinho eu vejo se consigo dar uma estudada nela p/ fazer um tutorial. De repente até seja possivel integrar SQLite com outros SGBDs ^^

Share this post


Link to post
Share on other sites

pessoal segui o recomendado mas nao consigo a conexao.. da erro apos o OPEN

 

==> The requested action with this object has failed.:
$db.Open($SQLcon)
$db.Open($SQLcon)^ ERROR
Sabem o que pode ser..
Na minha maquina tem tudo instalado. O meu mysql esta hospedado em um servidor na internet.. Sera que tem a ver com a porta?

Share this post


Link to post
Share on other sites

Pessoal, acho que descobri qual era o problema. Faltava eu configurar o meu site/mysql que esta hospedado em um servidor na internet, liberar o IP da minha maquina de casa para acessar a base de dados.

 

Fiz a configuração e ai consegui conectar no banco.

 

Fica de ajuda para quem não estiver conseguindo conectar.

Share this post


Link to post
Share on other sites

Galera, eu consegui conectar ao banco, mas preciso utilizar os dados do select no meu programa .au3.

 

.Execute() - Executa uma query na BD. Ex.: $db.Execute("select*from tb_exemplo")

 

Alguém sabe como?

Share this post


Link to post
Share on other sites

Olá João V.

 

Muito provavelmente o comando .Execute que vc citou, deve retornar um array ou um objeto numa variável, assim a chamada correta seria:

$Retorno = $db.Execute("select*from tb_exemplo")

Dessa forma, na variável $retorno deve conter o resultado do seu Select.

 

Veja se funciona assim.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×