sql-server - dbexpress 和 SQL Server
问题描述
Delphi XE Tokio / SQL Server 2017 Express
我正在尝试将在 Delphi 中开发的应用程序与 SQL Server 数据库连接起来,在我们使用 ADO 之前它工作得很好,但现在我们的客户端请求使用 dbExpress。
尝试建立连接时,我得到了著名的错误:
DBX 错误:无法初始化驱动程序。
客户端库可能丢失、未正确安装、版本错误,或者驱动程序可能从系统路径中丢失...
我已经尝试解决我在这个主题上找到的解决方案。
- 检查图书馆
- 复制它 system32
- 复制它SysWow。
- 将其复制到.exe的目录
- 启动 ActiveEx 的 CoInitilized
- 卸载sql server express
- 使用 devart 组件。
- 注册库 (regsvr32 sqlncli11.dll)。
- 显然安装本机客户端,SQL Server!
绝对没有任何选项对我有用,它一直在指令(SQLConnection.Connected: = true;
)中出现错误。
我读过这个,它也不起作用。 Delphi DBX 和 MySQL 连接噩梦:DBX 错误:驱动程序无法正确初始化
if CoInitialize(Nil) > 0 then begin
SQLConnection := TSQLConnection.Create(nil);
SQLConnection.DriverName := 'MSSQL';
SQLConnection.GetDriverFunc := 'getSQLDriverSQLServer';
SQLConnection.LibraryName := 'dbxmss.dll';
SQLConnection.VendorLib := 'sqlncli11.dll';
SQLConnection.LoginPrompt := False;
SQLConnection.Params.Clear;
SQLConnection.Params.Add('drivername=MSSQL');
SQLConnection.Params.Add('schemaoverride=%.dbo');
SQLConnection.Params.Add('hostname=SQLEXPRESS');
SQLConnection.Params.Add('database=LogSwitch');
SQLConnection.Params.Add('blobsize=1');
SQLConnection.Params.Add('localcode=0000');
SQLConnection.Params.Add('isolationlevel=ReadCommited');
SQLConnection.Params.Add('os authentication=True');
SQLConnection.Params.Add('prepare sql=False');
SQLConnection.Connected := true;
end;