0

我有一个名为 pm-eng 的 SQL Server 数据库,需要从 linux 机器连接到该数据库。我已经设置了 unixODBC 并配置了我的 odbc.ini,如下所示:

[pm_production]
Driver    = FreeTDS
Server    = mssql.server
Database  = pm-eng

当我使用 iSQL 进行测试时,连接时出现错误,提示“pm”数据库不存在。我尝试将数据库名称包装在 [] 和引号中,但没有成功。理想情况下,我只会更改数据库的名称,但在这种环境下这是不可能的。我已经用一个没有连字符的数据库名称验证了我的连接,它工作正常。是否可以使用带连字符的 DB 名称连接到 ODBC DSN?

4

2 回答 2

0

由于您要连接到 MSSQL 数据库,因此您可以尝试以下操作:

[pm_production]
Driver = FreeTDS
Server = mssql.server

然后与默认数据库为 pm-eng 的用户连接

根据MSDN上的文档:“如果未指定数据库,则使用为登录定义的默认数据库。”

于 2012-12-17T16:05:07.443 回答
0

这原来是 FreeTDS 的问题,而不是 unixODBC 的问题。我需要在 odbc.ini 文件中指定一个 TDS_Version 并开始工作。最终配置如下所示:

[pm_production]
Driver    = FreeTDS
Server    = mssql.server
Database  = pm-eng
TDS_Version = 8.0
于 2012-12-17T19:21:50.767 回答