Acessando SQL Server com o Delphi - por Marcio Castilho
O Delphi, uma poderosa linguagem de programao que entre seus muitos
recursos, pode atravs de links SQL, acessar bancos de dados relacionais tais como : SQL Server,ORACLE,InterBase,Informix Etc. Isto feito atravs de trs possibilidades : ODBC,BDE e ADO.
O que iremos tratar aqui o ODBC, pois um modo universal de acesso a dados (mesmo porque, via ADO no conseguimos conectar As classes DataSetProducer aos componentes de acesso a dados.)
Antes de colocar a mo na massa, devo lembrar-lhes de certos detalhes :
- Para toda aplicao que exerca controle em um banco de dados, necessrio que a instncia de servio do banco de dados seja carregada na memria RAM.
- Na criao (SQL DDL) e manipulao (SQL DML) de banco de dados, necessrio que se faa a criao de respectivos usurios do banco de dados, bem como as respectivas permisses e classes no banco.Isto feito atravs de utilitrios que acompanham o banco de dados ou (No caso do ORACLE e SQL Server) pelos comandos "Create User".
- Para que o Delphi possa acessar o banco de dados com segurana e estabilidade, voc deve ao modelar seu banco de dados, criar todos os relacinamentos possveis, evitando redundncia e inconsistncia de dados no Sistema,bem como a criao de "Procedimentos Armazenados" os quais so responsveis pelo processamento "pesado" dos dados no Servidor (Isto a base da programao Cliente X Servidor).
Agora, podemos trabalhar em paz ...
Via ODBC : V ao painel de controle e clique em "ODBC Data Source 32 Bits". L voc deve criar um apelido ao seu banco de dados (Alias). Isto necessrio para que na sua aplicao delphi, voc apenas diga aos seus componentes de acesso a dados, trabalhe com o banco "NOME_ALIAS". Clique em System DSN,seguido de Add, escolha o driver para o banco de dados (no caso SQL Server), clique em avanar. Digite o nome para seu Alias,digite uma descrio para seu banco de dados logo aps digite o path ou identificao da mquina que contm o banco de dados SQL Server.
Ao indicar o path do banco, tenha em mente a regra lgica de redes, que nos diz que dois computadores para se comunicarem, devem falar a mesma lngua ou protocolo de rede. No caso do SQL Server, eu recomendo a utilizao do protocolo nativo "Named Pipes" que faz INTERFACE direta com o SQL Server.
Obs : Atente para os seguintes detalhes, se a mquina que contm o SQL Server a mquina Local, apenas digite '(local)' sem aspas. Se o banco de dados est numa mquina remota, digite o path "\\SERVIDOR\pipe\sql\Instancia_do_SQL_Server", onde a instancia referida, um nome do servio remoto do banco de dados relacional,ou seja,o tal do programinha que fica rodando na memria RAM do servidor realizando as operaes de log e conectividade do SQL server.
Clique em "Avanar".Defina se voc quer validar a instncia de conexo com o banco,pela integridade do Windows NT, ou pela integridade do prprio SQL Server.(Eu recomendo pelo SQL Server,pois se voc pretende criar conexes DCOM ou CORBA para utilizao na Internet, a possibilidade de invaso dos seus dados sero menores.). se voc escolheu pelo SQL Server, digite seu nome de usurio e sua senha de acesso, logo clique em "Avanar".
Caso sua rede esteja funcionando perfeitamente,o path de ALIAS direcione corretamente para o banco de dados remoto,e sua senha tenha sido validada corretamente, ser criado o alias ODBC para seu banco de dados. Clique em "Test Data Source" para ver se o banco de dados responde l do servidor (equivale ao ReadPipe do SQL Server).
Feche o ODBC e v at o SQL Explorer da Borland. Olha que surpresa,foi criado um ALIAS identico ao que voc acabou de criar no ODBC. Isto acontece pois os drivers de banco de dados so compartilhados entre o BDE e o ODBC (o que torna o Borland Delphi uma ferramenta completa de acesso a dados.) Dai para frente meu amigo, siga os passos padres para criar uma aplicao de banco de dados com Dephi, que se segue abaixo :
- Para conectar o banco de dados utilize a classe "TDataBase" setando suas propriedades padres e afirmando um DataBaseName qualquer para que dentro da IDE do Dephi, todos os formulrios que contiverem uma classe "TDataSet", tenham como DataBaseName este DataBaseName. |================================================= ==========================|
Obs : uma dica importante que tenho que lhe dizer a de configurar a propriedade "LoginPrompt" para false para que quando compilado o seu sistema, no lhe seja exigido um parmetro de login.
- Depois de configurado o DataBaseName dos componentes de acesso a dados, faa as devidas configuraes padres que voc faz com banco de dados paradox.
|================================================= ===========================| Obs : Para fins de atualizao de rede, faa uso dos mtodos "StartTransaction","Commit"e "RollBack" da classe TDataBase (aps e antes) das operaes de Inserir , Remover , Editar. Para tal crie Procedimentos privados / protegidos na unidade de programao de cada tela de cadastro ou pesquisa e chame-os quando necessrio.
Espero que tenha sido bem compreendido e que voc tenha aumentado seu potencial de programador. Recomendo que visite o site da Microsoft "www.microsoft.com/sql" para obter informaes e dicas deste poderoso banco de dados relacional.