“Adaptive Server 不可用或不存在"从 PHP 连接到 SQL Server 时出错
我正在尝试使用 unixODBC 和 FreeTDS 从我的 Mac 连接到 SQL Server 2005 数据库,正如我概述的那样 此处.但是,当我尝试使用相同的设置连接到不同的数据库时,我得到:
I'm attempting to connect to a SQL Server 2005 DB from my Mac using unixODBC and FreeTDS as I have outlined here. However, when I try to connect in to a different DB using the same setup, I get:
Connection Failed:[FreeTDS][SQL Server]Unable to connect: Adaptive Server is unavailable or does not exist.
这是我的 freetds.conf 设置:
Here is my freetds.conf setup:
[my_db]
host = 12.34.56.789
port = 1433
tds version = 8.0
这是我的 odbc.ini:
And here is my odbc.ini:
[my_dsn]
Driver = /opt/local/lib/libtdsodbc.so
Description = My Database
Trace = no
Servername = my_db
Database = MyDB
[ODBC Data Sources]
my_dsn = FreeTDS
我仍然能够连接到我在这台计算机上设置的另一个数据库(在我上面链接的博客文章中描述),所以我很确定错误不在 Mac 端.我已在服务器上验证我使用的是正确的 IP 地址和端口.关于可能是什么问题的任何想法,如果它在服务器端?
I am still able to connect to the other DB I set up on this computer (described in my blog post linked above), so I'm pretty sure that the error isn't on the Mac end. I've verified on the server that I'm using the correct IP address and port. Any thoughts on what could be the problem, and if it's on the server end?
推荐答案
1.查看有关 SQL 服务器的信息
tsql -LH SERVER_IP_ADDRESS
locale is "C"
locale charset is "646"
ServerName TITAN
InstanceName MSSQLSERVER
IsClustered No
Version 8.00.194
tcp 1433
np \TITANpipesqlquery
2.设置你的 freetds.conf
tsql -C
freetds.conf directory: /usr/local/etc
[TITAN]
host = SERVER_IP_ADDRESS
port = 1433
tds version = 7.2
3 试试
tsql -S TITAN -U user -P password
或
'dsn' => 'dblib:host=TITAN:1433;dbname=YOURDBNAME',
另见http://www.freetds.org/userguide/confirminstall.htm (例 3-5.)
如果您收到消息 20009,请记住您尚未连接到机器.这是配置或网络问题,而不是协议故障.验证服务器已启动,具有 FreeTDS 正在使用的名称和 IP 地址,并且正在侦听配置的端口.
If you get message 20009, remember you haven't connected to the machine. It's a configuration or network issue, not a protocol failure. Verify the server is up, has the name and IP address FreeTDS is using, and is listening to the configured port.
相关文章