Configurando DBX para acessar o MS SQL Server 2000 e 2005 no Delphi 2010
No Delphi 2010, por padrão o DBX lista como opção 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 configuração 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 não é ativado por padrão, para ativá-lo, você deve adicionar MSSQL9=1 no grupo [Installed Drivers] no início do arquivo dbxdrivers.ini. Após fazer esta alteração, basta reiniciar o Delphi e você vai ver a opção de conexão chamada MSSQL9 no Data Explorer.
O início 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
VendorLib=sqlncli10.dll
…[MSSQL2005]
…
LibraryName=dbxmss9.dll
VendorLib=sqlncli.dll
…[MSSQL2000]
…
LibraryName=dbxmss.dll
VendorLib=oledb.dll
…
Estas informações estão documentadas no “Release Notes”, que está na pasta de instalação do delphi 2010, a seguir uma tradução do que está escrito, com algumas alterações pra ficar mais claro:
- O driver MSSQL requer a instalação do Cliente Nativo SQL.
- Versões suportadas: Microsoft SQL Server 2008, 2005, 2000 (Ent) (Driver dbxMSS.dll, Client oledb.dll)
MS SQL Server Driver DBX Driver Client 2008 dbxmss.dll sqlncli10.dll 2005 dbxmss9.dll sqlncli.dll 2000 dbxmss.dll oledb.dll

janeiro 28th, 2010 at 10:08
Muito boa a explicação.
Eu estava usando o native client, agora nem vou precisar mais.
Valeu.
fevereiro 9th, 2010 at 10:59
[...] 2010 in DB, Delphi, Dicas, Programação, Rad Studio, SQL Há alguns dias eu postei o artigo Configurando DBX para acessar o MS SQL Server 2000 e 2005 no Delphi 2010, hoje o Bob Swart postou em seu blog o artigo Delphi/C++Builder 2010 DBX4 and SQL Native Client [...]
fevereiro 17th, 2010 at 17:29
Segui sua dica, em tempo de designe, o SQLConnection conecta no banco numa boa, agora em tempo de execução não funciona, estou usando o Delphi 2010 com SQL Server 2005 e IntraWeb.
Vlw e parabéns pelo Blog.
fevereiro 17th, 2010 at 17:56
@Jhosef:
Se funciona na IDE, com certeza vai funcionar em tempo de execução, por acaso o TSQLConnection esta carregando os parametros quando executa?
O TSQLConnection esta fechado qdo vc compila?
Se você carrega os parametros de conexão dinamicamente via código, experimenta colocar o código no Evento TSQLConnection.OnBeforeConnect.
fevereiro 18th, 2010 at 10:20
Bom dia Cesar, hoje quando carreguei o Delphi 2010, e fui trabalhar com o SQLConnection começou a dar problema em tempo de designe também, na verdade o que acontece agora é que o drive MSSQL9 quando é selecionado nem aparece mais as opções do Drive (usuário, password, database, hostname)…
Isso foi de ontem para hoje, agora numa segunda máquina isso não está acontecendo… Fica no problema de antes, em tempo de designe conecta e em tempo de execução não funciona…
Tá complicado, to quase voltando pro Delphi 7
fevereiro 18th, 2010 at 10:43
@Jhosef:
Bom dia! Estas configurações ficam no arquivo dbxconnections.ini, alguma coisa neste arquivo foi mudada.
A lista de drivers disponívels 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, após ele entender bem como funciona estas configurações, ele não teve mais problemas.
fevereiro 18th, 2010 at 10:49
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…
fevereiro 18th, 2010 at 10:52
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…