我用 TSqlConnection连接mysql 当将连接方法封装在 DLL中时,在DLL中动态设置 所有参数,当然参数都是正确的,最后
try
FConnection.Connected:=true;
except
Raise Exception.Create('Conn error');
end;
便会出错?何解? 如何我将这种方式封装在BPL中则不会出错?很是 奇怪?
try
FConnection.Connected:=true;
except
Raise Exception.Create('Conn error');
end;
便会出错?何解? 如何我将这种方式封装在BPL中则不会出错?很是 奇怪?
constructor TDBConnection.Create;
begin
FConnection := TSQLConnection.Create(nil);
FConnection.Params.Clear;
FConnection.ConnectionName := 'MYSQLCONNECTION';
FConnection.Params.Add('HostName=127.0.0.1');
FConnection.Params.Add('Database=tennis');
FConnection.Params.Add('User_Name=root');
FConnection.Params.Add('Password=root');
FConnection.Params.Add('ServerCharSet=utf8');
FConnection.Params.Add('DriverUnit=DBXMySQL');
FConnection.Params.Add('DriverPackageLoader=TDBXDynalinkDriverLoader,DbxCommonDriver150.bpl');
FConnection.Params.Add('DriverAssemblyLoader=Borland.Data.TDBXDynalinkDriverLoader,Borland.Data.DbxCommonDriver,Version=15.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b');
FConnection.Params.Add('MetaDataPackageLoader=TDBXMySqlMetaDataCommandFactory,DbxMySQLDriver150.bpl');
FConnection.Params.Add('MetaDataAssemblyLoader=Borland.Data.TDBXMySqlMetaDataCommandFactory,Borland.Data.DbxMySQLDriver,Version=15.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b');
FConnection.Params.Add('GetDriverFunc=getSQLDriverMYSQL');
FConnection.Params.Add('LibraryName=dbxmys.dll');
FConnection.Params.Add('VendorLib=LIBMYSQL.dll');
FConnection.Params.Add('MaxBlobSize=-1');
FConnection.Params.Add('LocaleCode=0000');
FConnection.Params.Add('Compressed=False');
FConnection.Params.Add('Encrypted=False');
FConnection.Params.Add('BlobSize=-1');
FConnection.Params.Add('ErrorResourceFile= '); FConnection.LoginPrompt := False;
FConnection.DriverName := 'MySql';
FConnection.KeepConnection := True;
try
FConnection.Connected:=true; //---------------到这里就出错了。没有错误代码。
except
Raise Exception.Create('Conn error');
end;
end;
不过dll是可以调试的
1、将调用该DLL的exe复制到DLL的同级目录
2、run->Parameters-Host Application 选择刚复制过来的程序
3、加上断点
4、run
在调试状态加个断点看看错误消息是什么对分析错误应该有帮助的