Criação de SQLConnection em runtime - Delphi XE
11/04/2013
0
Tenho um fonte antigo, delphi 7, onde é criada uma conexão com banco sql em runtime e funciona direito... fui tentar adaptar o código para usar no delphi xe e não funfa!!
Código antigo que funciona:
Con := TSQLConnection.Create(Nil);
Con.KeepConnection := False;
Con.LoginPrompt := False;
Con.DriverName := 'MSSQL';
Con.GetDriverFunc := 'getSQLDriverMSSQL';
Con.VendorLib := 'sqloledb.dll';
Con.LibraryName := 'dbexpmss.dll';
Con.Params.Add('BlobSize=-1');
Con.Params.Add('HostName=131.171.128.99\SQLEXPRESS');
Con.Params.Add('DataBase=teste');
Con.Params.Add('User_Name=teste');
Con.Params.Add('Password=teste2012');
Con.Open;
Quando tento abrir no delphi XE da o erro "DBX Error: Driver could not be properly initialized. Client library may be missing, not installed, of wrong version, or the driver may be missing from the system path"
O estranho é que se eu coloco um sqlconnection no form e preencho os dados da conexão ele conecta normal pelo delphi XE....
Algum colega ja passou por isso?
Abrax,
Jose Junior
Post mais votado
13/04/2013
pois bem , peço desculpa e segue a forma correta
var con:TSQLConnection; begin try Con := TSQLConnection.Create(Nil); Con.KeepConnection := False; Con.LoginPrompt := False; con.LoadParamsOnConnect:=false; Con.DriverName := 'MSSQL'; Con.GetDriverFunc :='getSQLDriverMSSQL'; Con.VendorLib := 'sqlncli10.dll'; Con.LibraryName := 'dbxmss.dll'; con.Params.Values['HostName']:='SALHA_MODA\SQLEXPRESS2008'; con.Params.Values['DataBase']:='teste'; con.Params.Values['User_Name']:='teste'; con.Params.Values['Password']:='teste2012'; Con.Open; showmessage('conexao Sucesso'); con.Close; except Showmessage('erro'); end;
[]sds
Marco Salles
Mais Posts
11/04/2013
Douglas
você deu USES a classe pertencente do SQLConnection,
antes de fazer esse procedimento ?
12/04/2013
Marco Salles
Tenho um fonte antigo, delphi 7, onde é criada uma conexão com banco sql em runtime e funciona direito... fui tentar adaptar o código para usar no delphi xe e não funfa!!
Código antigo que funciona:
//
Con.VendorLib := 'sqloledb.dll'; // Atual VendorLib=LIBMYSQL.dll
Con.LibraryName := 'dbexpmss.dll'; //Atual dbxmys.dll
Con.Params.Add('BlobSize=-1'); //Atual BlobSize=-1
Con.Params.Add('HostName=131.171.128.99\SQLEXPRESS'); //O Seu mesmo
Con.Params.Add('DataBase=teste'); // A sua Base Mesmo
Con.Params.Add('User_Name=teste'); // Ok
Con.Params.Add('Password=teste2012'); // Ok
Con.Open;
e na uses vc tem que definir
Data.DBXMySQL, Data.DB, Data.SqlExpr
Se por ventura não rodar , de duas uma
1) Ou a falta de carregar alguns paâmetros
2))ou as dlls LIBMYSQL.dll / dbxmys.dll não estão sendo localizadas (O próprio Delphi deveria ser capas de iniciliza´las)
ps) Esta Migração do Delphi 7 para as Versões mais recentes do Delphi sepre irá esbarrar no DBX , isto é normal mesmo
e tb nos componentes Indy entre outrospercausos como a Unicode
[]sds
12/04/2013
Jose Junior
você deu USES a classe pertencente do SQLConnection,
antes de fazer esse procedimento ?
Boa noite,
Declarei sim! Tenho uma estrutura dbxpress com componentes montados nesse form que funcionam normalmente... só código que nao esta indo...
Clique aqui para fazer login e interagir na Comunidade :)