Conexão com DBexpress e MSSQL
O que devo fazer para conectar o DBEXPRESS com o MSSQL, estou tentando e não estou conseguindo. Será necessário algum driver, dll ou coisa semelhante.
Alguem poderi dar um help sobre o assunto.
Alguem poderi dar um help sobre o assunto.
Vrssoftware
Curtidas 0
Respostas
Fer_nanda
13/05/2004
Coloque a msg de erro q está dando... mas te adiantando é preciso colocar a libmySQL.dll junto com seu exe
GOSTEI 0
Vinicius2k
13/05/2004
Colega,
Qual a versão do Delphi ? O driver nativo para o SQL Server só está presente a partir do Delphi 7...
Este artigo do Guinther trata passo a passo como configurar 3 formas de acesso diferentes para o SQL Server... ( ignore qualquer referência à figuras pois retirei apenas o texto)
Espero ter ajudado...
T+
Qual a versão do Delphi ? O driver nativo para o SQL Server só está presente a partir do Delphi 7...
Este artigo do Guinther trata passo a passo como configurar 3 formas de acesso diferentes para o SQL Server... ( ignore qualquer referência à figuras pois retirei apenas o texto)
[b:d15db44682]Delphi e SQL Server[/b:d15db44682]
[b:d15db44682]Acesso com dbExpress, ADO e BDE[/b:d15db44682]
[u:d15db44682]por Guinther de Bitencourt Pauli[/u:d15db44682]
Este artigo mostra passo a passo como acessar o banco de dados SQL Server da Microsoft a partir do Delphi. Se você não tem o SQL Server, poderá fazer download de uma versão de avaliação a partir do endereço www.microsoft.com/downloads. A instalação do produto é extremamente simples (tanto quanto a do Interbase): com apenas alguns cliques seu servidor SQL já deve estar rodando. Após instalado, aparecerá um ícone na taskbar indicando que o servidor está rodando (Figura 1).
Figura1: SQL Server rodando
Neste artigo faremos um exemplo bastante simples de como acessar um banco de dados no SQL Server. Para isso, você poderá utilizar um dos três engines de acesso a dados descritos a seguir:
• dbExpress: disponível no Delphi 7 Enterprise e Architect (o dbExpress do Delphi 6 não acessa o SQL Server);
• ADO / OLEDB: disponível a partir do Delphi 5;
• BDE: Delphi 7 ou anterior (versão Enterprise ou Client/Server). A versão Professional permite acesso ao SQL Server somente via BDE/ODBC.
Criando um banco de dados
Poderíamos utilizar neste exemplo o banco Northwind de demonstração, no entando criaremos um novo banco de dados, processo que também é relativamente simples. Abra o Enterprise Manager localizado no menu Iniciar|Programas|Microsoft SQL Server. Registre seu servidor caso ele não apareça na lista, e depois dê um clique de direita sobre o item Databases, escolhendo a opção New Database (Figura 2).
Figura2: Criando um banco de dados no SQL Server
Dê o nome de “ClubeDelphi” ao banco de dados (Figura 3).
Figura3: Propriedades do banco de daods
Criando uma tabela
Selecione o novo banco criado, e dê um clique de direita no item Tables, escolhendo a opção New Table. Utilize a estrutura mostrada na Figura 4 para criar a nova tabela. Selecione o campo ID e clique no botão para defini-lo como campo chave primária da tabela.
Figura4: Criando uma tabela no SQL Server
Clique no botão para salvar a tabela, dando a ela nome de CLIENTES (Figura 5).
Figura5: Configurando o nome da nova tabela
Acesso com dbExpress
Crie uma nova aplicação no Delphi. Adicione um DataModule e dê a ele o nome de “dm”.
Nota: o formulário do exemplo é o mesmo para os 3 engines de acesso que utilizaremos a seguir. Dessa forma, se você não vai utilizar o BDE ou ADO ao invés de dbExpress, passe para a respectiva sessão, e depois vá até o tópico “Configurando o formulário principal”.
Coloque no DataModule os seguintes componentes: SQLConnection, SQLQuery (da paleta dbExpress), DataSetProvider e ClientDataSet (Data Access). Veja a Figura 6.
Figura6: Acesso ao SQL Server com dbExpress
Dê um duplo clique no SQLConnection. No editor de conexões do dbExpress clique no botão “+”, escolha MSSQL na lista e dê o nome de CLUBEDELPHI para a conexão (Figura 7).
Figura7: Criando uma conexão ao SQL Server com dbExpress
Ajuste os parâmetros da conexão conforme mostra a Figura 8.
Figura8: Configurando as propriedades da conexão no editor do dbExpress
Observe que HostName é nome do servidor registrado (nesse caso SNAP) e DataBase é nome do banco (nesse caso ClubeDelphi). Para este exemplo utilizarei o mecanismo de autenticação integrada do SQL Server (veja o 3º parâmetro em destaque), de forma que as credenciais para a conexão com o banco de dados serão as do usuário atual logado no Windows.
Atenção: Há um patch para o dbExpress do Delphi 7 que corrige alguns problemas de autenticação de usuários no SQL Server. Você pode fazer download dessa atualização a partir do endereço www.borland.com/products/downloads/download_delphi.html
Configure as propriedades dos componentes como mostrado a Tabela 1.
ComponentePropriedadeValor
SQLConnection1LoginPromptFalse
SQLConnection1ConnectedTrue
SQLQuery1SQLConnectionSQLConnection1
SQLQuery1SQLselect * from CLIENTES
DataSetProvider1DataSetSQLQuery1
ClientDataSet1ProviderNameDataSetProvider1
ClientDataSet1ActiveTrue
Tabela1: Configurando as propriedades dos componentes do DataModule
Nota: neste exemplo utilizaremos uma query bastante simples (select * from). No entanto, em uma aplicação real, é essencial que você utilize consultas parametrizadas para otimizar o tráfego de dados entre o servidor SQL e o cliente, aumentando a performance de sua aplicação.
Acesso com BDE
Coloque no DataModule os seguintes componentes: Database, Query e UpdateSQL (da paleta Data Access (se for D6 ou D7 a paleta passou a se chamar BDE). Veja a Figura 9.
Figura9: Acesso ao SQL Server com BDE
Dê um duplo clique no Database e configure uma conexão ao SQL Server conforme mostrado na Figura 10.
Figura10: Configurando uma conexão BDE ao SQL Server
Nota: observe que neste caso estamos utilizando a conta padrão do DBA no SQL Server.
Configure os componentes conforme mostrado na Tabela 2.
ComponentePropriedadeValor
DataBase1DataBaseNameCLUBEDELPHI
Database1ConnectedTrue
Query1DataBaseNameCLUBEDELPHI
Query1SQLselect * from CLIENTES
Query1CacheUpdatesTrue
Query1ActiveTrue
Query1UpdateObjectUpdateSQL1
Tabela2: Configurando as propriedades cox componentes do DataModule
Dê um duplo clique no UpdateSQL e configure as instruções SQL de atualização conforme mostrado na Figura 11 (aperte o botão Generate SQL depois de selecionar a tabela e os campos).
Figura 11: Configurando o UpdateSQL
Nota: observe que ao utilizar dbExpress não é necessário configurar um UpdateSQL, pois as instruções de atualização são geradas pelo Resolver do DataSetProvider.
Acesso com ADO
Coloque no DataModule os seguintes componentes: ADOConnection e ADOQuery (paleta ADO). Veja a Figura 12.
Figura 12: Acesso ao SQL Server com ADO
Dê um duplo clique no ADOConnection e no editor clique no botão Build. Escolha a opção Microsoft OLE DB Provider for SQL Server (Figura 13).
Figura 13: Acesso ao SQL Server com ADO
Na aba conexão escolha o servidor, marque a opção para autenticação integrada, selecione o banco de dados ClubeDelphi na lista (Figura 14) e aperte Ok.
Figura 14: Acesso ao SQL Server com ADO
Configure os componentes conforme mostrado na Tabela 3.
ComponentePropriedadeValor
ADOQuery1ConnectionADOConnection1
ADOQuery1SQLselect * from CLIENTES
ADOQuery1ActiveTrue
Tabela 3: Configurando as propriedades dos componentes do DataModule
Configurando o formulário principal
Volte ao formulário principal, aperte Alt+F11 e escolha a unit do DataModule. Coloque um DataSource (paleta Data Access) e um DBGrid (paleta Data Controls). Aponte o DataSource do DBGrid para DataSource1.
Aponte a propriedade DataSet do DataSource de acordo com o engine que você está utilizando:
• dbExpress: aponte para dm.ClientDataSet1;
• BDE: aponte para dm.Query1;
• ADO: aponte para dm.ADOQuery1;
Coloque também um Button e no seu evento OnClick digite (no caso de você estar utilizando dbExpress / ClientDataSet).
dm.ClientDataSet1.ApplyUpdates(0); // Aplica a cache do ClientDataSet
Caso esteja utilizando BDE¸digite:
dm.Query1.ApplyUpdates; // Aplica a cache da Query
Se estiver usando ADO nenhuma modificação é necessária. Seu formulário deve estar semelhante ao da Figura 15.
Figura 15: Formulário principal da aplicação
Execute a aplicação e insira alguns registros (Figura 16), e aperte o botão para enviar as atualizações ao servidor SQL.
Figura 16: Testando a aplicação
Você poderá utilizar Query Analizer (Figura 17) para verificar se os dados foram inseridos com sucesso no banco de dados. Este utilitário é semelhante ao Interactive SQL, para quem trabalha com o Interbase.
Figura 17: Verificando no Query Analaizer se os dados foram inseridos com sucesso
dbExpress x ADO x BDE
Alguns podem estar se perguntando: qual o melhor desses 3 engines para acesso ao SQL Server? Se você tiver oportunidade de escolher, pessoalmente eu aconselharia o uso do dbExpress. Todos sabem que o ADO/OLE DB tem uma ótima performance com o SQL Server e o Access. No entanto, isso tornaria mais difícil a migração para outro banco de dados (Interbase ou Firebird, por exemplo), caso fosse a escolha de um outro cliente seu, que não quisesse optar pelo SQL Server. Nesse caso, seria necessário utilizar um driver OLE DB ou ODBC para o banco desejado, causando a adição de uma camada extra à aplicação. Ao utilizar dbExpress, você estará construindo uma aplicação que poderá se conectar da mesma forma a uma variedade de banco de dados (SQL Server, Oracle, DB2, IB, FB, MySQL etc), com grande escalabilidade e perfomance. A boa nova é que o dbExpress ao se conectar ao SQL Server também utiliza internamente OLE DB: ou seja, não haverá diferenças significativas de performance ao se comparar dbExpress com os componentes do ADO
Delphi 8
Se você estiver usando o Delphi 8, poderá então utilizar o BDE ou dbExpress para acesso ao SQL Server, se estiver construindo uma aplicação VCL Forms (os passos são os mesmos descritos aqui para o Delphi 7).
No entanto, se você estiver construíndo uma aplicação Windows Forms ou Web Forms, poderá então utilizar um dos seguintes managed providers para ADO.NET:
• SQL Server Managed Provider (para acesso nativo ao SQL Server);
• OLE DB Managed Provider (para acesso com OLE DB);
• BDP (Borland Data Provider);
Confira na edição 43 da revista ClubeDelphi o artigo sobre ADO.NET que mostra como usar o SQL Server Managed Provider no Preview do Delphi for .NET. Em futuros artigos estarei mostrando como usar ADO.NET para acesso ao SQL Server a partir da IDE do Delphi 8.
Um abraço é até a próxima!
Espero ter ajudado...
T+
GOSTEI 0
Daiane Fontoura
13/05/2004
Vinicius2k
Poderia por favor postar o Link deste artigo?
Estou enfrentado o mesmo problema para conectar meu dbExpress com o SQLServer 2008, porém minha aplicação trabalha cliente servidor preciso conseguir acesso remoto.
Poderia por favor postar o Link deste artigo?
Estou enfrentado o mesmo problema para conectar meu dbExpress com o SQLServer 2008, porém minha aplicação trabalha cliente servidor preciso conseguir acesso remoto.
GOSTEI 0