Linux上通过ODBC的Delphi SQLConnection无法连接到SQL

Linux上通过ODBC的Delphi SQLConnection无法连接到SQL,linux,sql-server-2008,delphi,odbc,Linux,Sql Server 2008,Delphi,Odbc,我已经成功安装了两台Linux虚拟机。 一个是ZorinOS 32位、unixodbc和FreeTDS驱动程序,用于MS SQL。 第二个是Fedora2364位、unixodbc和Microsoft ODBC驱动程序,用于Linux上的SQL Server。 我设置了ODBC,可以通过isql实用程序在第一台机器上连接到SQL Server。 在第二台机器上,我可以通过isql和sqlcmd实用程序进行连接 问题在于Delphi和TSQLConnection。 我有一个空白表单,一个TSQLC

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

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

TSQLConnection:

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

怎么了


p、 SQL是2008年,Delphi是XE4,很好地回答了我自己。。。 我能够连接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,我没有运气。

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