我有一个名为pm-eng的SQL Server数据库,我需要从linux机箱连接。我已经设置了unixODBC并将odbc.ini配置如下:
[pm_production]
Driver = FreeTDS
Server = mssql.server
Database = pm-eng
当我使用iSQL进行测试时,连接说'pm'数据库不存在时出错。我已经尝试在[]中包装数据库名称并且引用没有运气。理想情况下,我只会更改数据库的名称,但在此环境中这是不可能的。我已经用一个没有连字符的数据库名称验证了我的连接,它运行正常。是否可以使用带连字符的DB名称连接到ODBC DSN?
答案 0 :(得分:0)
由于您正在连接到MSSQL数据库,您可以尝试这样做:
[pm_production]
Driver = FreeTDS
Server = mssql.server
然后与默认数据库为pm-eng
的用户建立联系根据MSDN上的文档:“如果未指定数据库,则使用为登录定义的默认数据库。”
答案 1 :(得分:0)
这对FreeTDS来说是一个问题,而不是unixODBC。我需要在odbc.ini文件中指定一个TDS_Version并开始工作。最终配置如下所示:
[pm_production]
Driver = FreeTDS
Server = mssql.server
Database = pm-eng
TDS_Version = 8.0