首页 > 解决方案 > dbexpress 和 SQL Server

问题描述

Delphi XE Tokio / SQL Server 2017 Express

我正在尝试将在 Delphi 中开发的应用程序与 SQL Server 数据库连接起来,在我们使用 ADO 之前它工作得很好,但现在我们的客户端请求使用 dbExpress。

尝试建立连接时,我得到了著名的错误:

DBX 错误:无法初始化驱动程序。

客户端库可能丢失、未正确安装、版本错误,或者驱动程序可能从系统路径中丢失...

我已经尝试解决我在这个主题上找到的解决方案。

  1. 检查图书馆
  2. 复制它 system32
  3. 复制它SysWow。
  4. 将其复制到.exe的目录
  5. 启动 ActiveEx 的 CoInitilized
  6. 卸载sql server express
  7. 使用 devart 组件。
  8. 注册库 (regsvr32 sqlncli11.dll)。
  9. 显然安装本机客户端,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;

标签: sql-serverdbexpress

解决方案


推荐阅读