Vous êtes sur la page 1sur 8

31/10/12

Configurando DBX para acessar o MS SQL Server 2000 e 2005 no Delphi 2010 | Cesar Romero

Cesar Romero
Coding

Configurando DBX para acessar o MS SQL Server 2000 e 2005 no Delphi 2010
Posted on 19/01/2010 No Delphi 2010, por padro o DBX lista como opo pra acessar o MS SQL Server, um driver chamado MSSQL, que est configurado para acessar o SQL Server 2008, j que o VendorLib est com o valor sqlncli10.dll. Para acessar o SQL Server 2005, tem uma configurao de driver pronta no arquivo dbxdrivers.ini, chamada MSSQL9 j configurado para acessar o SQL Server 2005 com o VendorLib sqlncli.dll. Mas este driver dbx no ativado por padro, para ativ-lo, voc deve adicionar MSSQL9=1 no grupo [Installed Drivers] no incio do arquivo dbxdrivers.ini. Aps fazer esta alterao, basta reiniciar o Delphi e voc vai ver a opo de conexo chamada MSSQL9 no Data Explorer. O incio do meu arquivo dbxdrivers.ini ficou assim: [Installed Drivers] DBXTrace=1 DBXPool=1 BlackfishSQL=1 DataSnap=1 ASA=1 ASE=1 DB2=1 Firebird=1 Informix=1 Interbase=1 MSSQL=1 MSSQL9=1 MySQL=1 Oracle=1

Para configurar o acesso para o MS SQL Server 2000, voc deve usar o Driver MSSQL, e mudar o VendorLib para oledb.dll. Dica: Se quiser deixar mais claro os nomes dos drivers, voc pode mudar o nome dos grupos no dbxdrivers.ini e dos itens no [Installed Drivers], assim: [Installed Drivers] MSSQL2008=1 MSSQL2005=1 MSSQL2000=1 [MSSQL2008] LibraryName=dbxmss.dll V endorLib=sqlncli1 0.dll [MSSQL2005] LibraryName=dbxmss9.dll V endorLib=sqlncli.dll [MSSQL2000] LibraryName=dbxmss.dll

cesarromero.com.br/configurando-dbx-para-acessar-o-ms-sql-server-2000-e-2005-no-delphi-2010/

1/8

31/10/12

Configurando DBX para acessar o MS SQL Server 2000 e 2005 no Delphi 2010 | Cesar Romero
V endorLib=oledb.dll

Estas informaes esto documentadas no Release Notes, que est na pasta de instalao do delphi 2010, a seguir uma traduo do que est escrito, com algumas alteraes pra ficar mais claro: O driver MSSQL requer a instalao do Cliente Nativo SQL. Verses suportadas: Microsoft SQL Server 2008, 2005, 2000 (Ent) (Driver dbxMSS.dll, Client oledb.dll)

MS SQL Server 2008 2005 2000

Driver DBX dbxmss.dll dbxmss9.dll dbxmss.dll

Driver Client sqlncli1 0.dll sqlncli.dll oledb.dll

This entry was posted in DB, Delphi by Cesar. Bookmark the permalink [http://www.cesarromero.com.br/configurando-dbx-para-acessar-oms-sql-server-2000-e-2005-no-delphi-2010/] .
29 THOUGHTS ON CONFIGURANDO DBX PARA ACESSAR O MS SQL SERVER 2000 E 2005 NO DELPHI 2010

Srgio Guedes on 28/01/2010 at 10:08 said:

Muito boa a explicao. Eu estava usando o native client, agora nem vou precisar mais. Valeu.

Pingback: Delphi 2010 DBX com SQL Server 2008 | Cesar Romero

Jhosef on 17/02/2010 at 17:29 said:

Segui sua dica, em tempo de designe, o SQLConnection conecta no banco numa boa, agora em tempo de execuo no funciona, estou usando o Delphi 2010 com SQL Server 2005 e IntraWeb. Vlw e parabns pelo Blog.

Cesar on 17/02/2010 at 17:56 said:

@Jhosef: Se funciona na IDE, com certeza vai funcionar em tempo de execuo, por acaso o TSQLConnection esta carregando os parametros quando executa? O TSQLConnection esta fechado qdo vc compila? Se voc carrega os parametros de conexo dinamicamente via cdigo, experimenta colocar o cdigo no Evento TSQLConnection.OnBeforeConnect.

cesarromero.com.br/configurando-dbx-para-acessar-o-ms-sql-server-2000-e-2005-no-delphi-2010/

2/8

31/10/12

Configurando DBX para acessar o MS SQL Server 2000 e 2005 no Delphi 2010 | Cesar Romero

Jhosef on 18/02/2010 at 10:20 said:

Bom dia Cesar, hoje quando carreguei o Delphi 2010, e fui trabalhar com o SQLConnection comeou a dar problema em tempo de designe tambm, na verdade o que acontece agora que o drive MSSQL9 quando selecionado nem aparece mais as opes do Drive (usurio, password, database, hostname) Isso foi de ontem para hoje, agora numa segunda mquina isso no est acontecendo Fica no problema de antes, em tempo de designe conecta e em tempo de execuo no funciona T complicado, to quase voltando pro Delphi 7

Cesar on 18/02/2010 at 10:43 said:

@Jhosef: Bom dia! Estas configuraes ficam no arquivo dbxconnections.ini, alguma coisa neste arquivo foi mudada. A lista de drivers disponvels ficam no dbxdrivers.ini, para o 2010 no Win7, estes arquivos ficam na pasta: C:\Users\Public\Documents\RAD Studio\dbExpress\7.0\ Outro dia um amigo estava com problemas parecidos com o seu, e foi pra ajudar ele que escrevi estes posts, aps ele entender bem como funciona estas configuraes, ele no teve mais problemas.

Jhosef on 18/02/2010 at 10:49 said:

Achei o problema rs No ServerController, a propriedade ComInitialization estava setada como clNone e eu acho que isso atrapalhava em carregar os dados do driver de forma correta. Mas ainda estou com o problema no meu notebook em ver as propriedades dos drive do MSSQL9 Vlw pela ajuda

Jhosef on 18/02/2010 at 10:52 said:

Achei o problema rs No ServerController, a propriedade ComInitialization estava setada como clNone e eu acho que isso atrapalhava em carregar os dados do driver de forma correta. Vlw pela ajuda

Alvaro on 16/03/2010 at 09:31 said:

Prezado Cesar

cesarromero.com.br/configurando-dbx-para-acessar-o-ms-sql-server-2000-e-2005-no-delphi-2010/

3/8

31/10/12

Configurando DBX para acessar o MS SQL Server 2000 e 2005 no Delphi 2010 | Cesar Romero
no consigo achar o oldb.dll na minha mquina onde encontro esta dll, estou usando o SQL 2000 e segundo sua configurao eu encontrei o sqloledb.dll este serve Ats. lvaro

Alvaro on 16/03/2010 at 09:34 said:

Prezado Cesar (Correo) no consigo achar o oledb.dll na minha mquina onde encontro esta dll, estou usando o SQL 2000 e segundo sua configurao eu encontrei o sqloledb.dll este serve Ats. lvaro

Cesar on 16/03/2010 at 10:26 said:

@Alvaro, vc deve instalar o MDAC que deve baixar do site da microsoft.

Fernando Arana on 27/04/2010 at 14:53 said:

Cara, que luta! Cesar, sua dica foi o comeo, mas tem mais: Pra funcionar o MSSQL 2005 Express: No arquivo dbxdrivers.ini, alm de colocar o valor 1 no [MSSQL9], a configurao logo abaixo correta essa: [MSSQL9] SchemaOverride=%.dbo DriverUnit=DBXMSSQL DriverPackageLoader=TDBXDynalinkDriverLoader,DBXCommonDriver120.bpl DriverAssemblyLoader=Borland.Data.TDBXDynalinkDriverLoader,Borland.Data.DbxCommonDriver,Version=12.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b MetaDataPackageLoader=TDBXMsSqlMetaDataCommandFactory,DbxMSSQLDriver120.bpl GetDriverFunc=getSQLDriverMSSQL LibraryName=dbxmss9.dll VendorLib=sqlncli HostName=localhost DataBase= User_Name=user Password=password BlobSize=-1 ErrorResourceFile= LocaleCode=0000 MSSQL TransIsolation=ReadCommited OS Authentication=False Prepare SQL=False claro que no campo HostName, User e Password voc j adiciona os valores padro pra vc trabalhar Em outros arquivos, como o dbxconnections.ini, no mexer em nada, ok?

MetaDataAssemblyLoader=Borland.Data.TDBXMsSqlMetaDataCommandFactory,Borland.Data.DbxMSSQLDriver,Version=12.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb

Cesar

cesarromero.com.br/configurando-dbx-para-acessar-o-ms-sql-server-2000-e-2005-no-delphi-2010/

4/8

31/10/12

Configurando DBX para acessar o MS SQL Server 2000 e 2005 no Delphi 2010 | Cesar Romero
on 28/04/2010 at 16:14 said:

@Fernando Arana: Na verdade eu postei somente as propriedades que mudam para cada verso do MSSQL, as outras todas permanecem, como vc listou. Sim o dbxconnections.ini no precisa ser alterado, nele sero salvas as conexes que voc criar no Data Explorer, baseadas nos modelos salvos no dbxdrivers.ini.

Eduardo on 10/05/2010 at 14:53 said:

Cara to apanhando do delphi 2009 ja copiei todos os arquivos q encontrei na net mas nao consigo fazer funcionar d2009+dbxpress e tbem algums sps com ADO, quais sao os benditos dos arquivos, pq nao esta querendo funcionar..

Fernando Arana on 11/05/2010 at 14:40 said:

Cesar, parabns pelo blog! Seguinte, por qu meu aplicativo feito em Delphi2010 usando o Sql Server 2005 Express no funciona nos outros computadores? Meu note roda Win7 e as mquinas do cliente rodam WinXP. J tentei instalar o dbxmss9.dll na pasta raiz, no diretrio do windows, midas.dll, dbxmss.dll e nada! P, quebra essa que te envio R$ 50,00 pro caf.

Cesar on 11/05/2010 at 15:33 said:

@Fernando, Qual a mensagem de erro? 1) Voc precisa instalar o Client do SQL Server 2005 nestas mquina, voc pode utilizar o instalador padro e selecionar somente a instalao das bibliotecas cliente, esta parte ir instalar a DLL sqlncli.dll 2) Voc pode dispensar a necessidade do Midas.dll, adicionando MidasLib na uses do seu projeto .dpr, mas se preferir mandar a DLL, deve seguir a mesma regra do tem 3. 3) Para o SQL Server 2005, voc deve mandar dbxmss9.dll, junto com o seu aplicativo, ele deve estar na mesma pasta do seu executvel ou em alguma pasta que esteja na varivel de ambiente %PATH%, normalmente na pasta C:\Windows\System32.

marcusco on 21/05/2010 at 18:38 said:

Mas qual a configurao para rodar no SQL 2000?? Podem me mandar o drivers.ini??

Cesar on 21/05/2010 at 19:12 said:

@marcusco:

cesarromero.com.br/configurando-dbx-para-acessar-o-ms-sql-server-2000-e-2005-no-delphi-2010/

5/8

31/10/12

Configurando DBX para acessar o MS SQL Server 2000 e 2005 no Delphi 2010 | Cesar Romero
Use a configurao que voc tem pra qualquer das verses do SQL Server, e mude apenas estas 2 linhas: LibraryName=dbxmss.dll VendorLib=oledb.dll

Alvaro on 28/07/2010 at 11:38 said:

Prezado Cesar Configurei ClienteDataset delphi 2010 ativei tudo ok, mas quando em tempo de execuo vou gravar um registro d mensagem Projct Project3.exe exception class EAccessViolation with message Access violation at address OOCB8E1E in module dbxmss.dll, Read of address 00000000 O que poder ser isso. Ats. lvaro

Alvaro on 28/07/2010 at 12:42 said:

Caro Cesar Informo que estou usando conexo dbexpress e banco SQL Server 2000

AFDominguez on 27/09/2010 at 18:11 said:

Boa Tarde. Cesar fiz todas essas configuraes e nao estou conseguindo acessar uma base sql server 2000. esta dando o seguinte erro: DBX Error: Driver could not be properly initialized. Client library may be missing, not installed properly, or of the wrong version.

Joel on 15/10/2010 at 17:40 said:

Prezado Cesar, preciso executar um mesmo programa compilado em Delphi2010 em clientes com MSSQL 2000, 2005 e 2008; no evento BeforeConnect do SqlConnection adicionei uma validao que verifica um determinado parmetro e altera as propriedade LibraryName e VendorLib conforme tabela descrita no final do artigo; Te pergunto, essa linha de raciocnio est correta ou devo seguir outra linha? infelizmente no estou avanando, algo est passando batido, se tiveres alguma orientao quanto a este cenrio lhe agradeo. Parabns pelo post, est bastante claro. Abrao.

Carlos on 17/12/2010 at 15:38 said:

Muito bom poder conta com os colegas, com suas explicaes tcnicas e corretas. Feliz natal!!!!

cesarromero.com.br/configurando-dbx-para-acessar-o-ms-sql-server-2000-e-2005-no-delphi-2010/

6/8

31/10/12

Configurando DBX para acessar o MS SQL Server 2000 e 2005 no Delphi 2010 | Cesar Romero
Carlos

Cleber on 04/03/2011 at 23:54 said:

Ola, ja li, re-li, e nao consigo fazer o delphi 2010 conectar no MSSQL 2008 EXPRESS Seguinte: tenho o delphi numa maquina xp o banco, sql express, em outra maquina xp recebo a mensagem driver could not be properly initialized ja coloquei as 2 dll, no system32, na pasta do aplicativo, e nada, nao consigo conectar nem em tempo de IDE alguem pode me ajudar a resolver ? Obrigado.

Daniel Lucena on 12/04/2011 at 15:07 said:

eu s instalei o sqlncli no site da microsoft tem pra download e resolveu meu problema com o xe no windows 7 e no windows xp fikdik

Gilberto G Lins on 30/07/2011 at 17:03 said:

Amigo, estou com problema ao utilizar uma grid no delphi 7 utilizando o dbexpress no mssql 2008 aparece a seguinte mensagem : Operation no allowed on Unidirectional dataset. Vc pode mim ajudar Cesar pelo amo de Deus!

Rodrigo on 08/08/2011 at 14:08 said:

Nos testes que eu fiz conectou belezinha localhost, porem quando se utiliza em REDE fica muiiiiiiiiito lento, alguem ja passou por este porblema e ou sabe como resolve-lo?

Thiago Dias on 01/09/2011 at 10:29 said:

Caro Aps pesquisar muito por a, o nico contedo encontrado que se aproxima do que preciso foi o seu. Estou migrando um sistema relativamente grande que utiliza SQL 2000 para SQL 2008, at a tudo bem, mas como percebi no consigo conectar ao 2008 utilizando o driver MSSQL, mas somente com o native client 10, o que gerou uma srie de problemas no sistema, j que o mesmo utiliza BDE. Sabe me dizer se h a possibilidade de fazer com que o Delphi se conecte ao SQL2008 utilizando o driver MSSQL, e como ? Obrigado desde j

cesarromero.com.br/configurando-dbx-para-acessar-o-ms-sql-server-2000-e-2005-no-delphi-2010/

7/8

31/10/12

Configurando DBX para acessar o MS SQL Server 2000 e 2005 no Delphi 2010 | Cesar Romero

Maicon on 23/01/2012 at 13:06 said:

Ol, Tenho o SQLServer 2005 instalado completo, banco, estudio, e nao tem jeito de aparecer o conection name no componente, aparece o driver apenas. J fiz os passos acim. Se puder me ajudar agradeo muito.

cesarromero.com.br/configurando-dbx-para-acessar-o-ms-sql-server-2000-e-2005-no-delphi-2010/

8/8