【问题标题】:Delphi SQLConnection via ODBC on Linux cannot connect to SQLLinux 上通过 ODBC 的 Delphi SQLConnection 无法连接到 SQL
【发布时间】:2016-02-21 07:56:29
【问题描述】:

我已经成功安装了两台 Linux 虚拟机。 一种是用于 MS SQL 的 ZorinOS 32 位、unixodbc 和 FreeTDS 驱动程序。 其次是 Fedora 23 64 位、unixodbc 和 Microsoft ODBC Driver for SQL Server on Linux。 我设置了 ODBC,我可以通过 isql 实用程序在第一台机器上连接到 SQL Server。 在第二台机器上,我可以通过 isql 和 sqlcmd 实用程序进行连接。

问题在于 Delphi 和 TSQLConnection。 我有空白表格、一个 TSQLConnection 和一个按钮。

TSQL 连接:

object SQLConnection1: TSQLConnection
ConnectionName = 'OdbcConnection'
DriverName = 'Odbc'
LoginPrompt = False
Params.Strings = (
  'DriverName=Odbc'
  'DataBase=XXXX'
  'User_Name=xxx'
  'Password=xxx'
  'IsolationLevel=ReadCommitted'
  'RowSetSize=20'
  'ConnectionString=')
Left = 64
Top = 28

结束 按钮事件:

SQLConnection1.Connected := true;

在 Windows 上它连接, 在两台 Linux 机器上我得到: DBX 错误:错误代码:-1。

怎么了???

附言SQL 是 2008,Delphi 是 XE4

【问题讨论】:

  • 不应该是你的 drivername=FreeTDS 而不是 linux 系统上的 Odbc?
  • 不,在这种情况下我会收到此错误:未知驱动程序:FreeTDS,即使在 /etc/odbcinst.ini 状态 [FreeTDS] 中也是如此。 MS 驱动程序类似:未知驱动程序:SQL Server 的 ODBC 驱动程序 11

标签: linux sql-server-2008 delphi odbc


【解决方案1】:

好吧,回答我自己... 我能够连接 XE6 中的 FireDAC 组件

object FDConnection1: TFDConnection
Params.Strings = (
  'Database=XXXXX'
  'User_Name=xxx'
  'Password=xxx'
  'DataSource=xxxxx'
  'DriverID=ODBC')
Connected = True
LoginPrompt = False
Left = 200
Top = 32
end

object FDPhysODBCDriverLink1: TFDPhysODBCDriverLink
ODBCDriver = 'SQL Server'
Left = 288
Top = 8
end

在 XE6(和 XE4)中使用 dbExpress,我没有运气。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多