【发布时间】:2014-10-19 10:11:45
【问题描述】:
我有一个在 SLES11 Apache 上运行的 PHP (v. 5.3.17) 插件,用于向数据库发送查询。我已经安装了 unixodbc (ver. 2.2.12)。
我想通过 PHP:PDO 将插件连接到远程 MSSQL 数据库以运行一些查询。
PDO:ODBC 支持已启用:
PDO support enabled
PDO drivers odbc, mysql, pgsql, sqlite, sqlite2
我通过 Telnet 测试了连接。我得到了一个积极的结果。
telnet> open 10.22.77.18 1433
Trying 10.22.77.18...
Connected to 10.22.77.18.
Escape character is '^]'.
我也可以通过 tsql 连接到 sql 数据库:
#>tsql -S ms-sql -U <user> -P <passwort>
locale is "LC_CTYPE=de_DE.UTF-8;LC_NUMERIC=C;LC_TIME=C;LC_COLLATE=C;LC_MONETARY=C;LC_MESSAGES=C;LC_PAPER=C;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=C;LC_IDENTIFICATION=C"
locale charset is "UTF-8"
using default charset "UTF-8"
1>
通过 isql 我得到以下错误:
# isql -v ms-sql
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect
我在Connect Linux ODBC with MSsql database上找到了一条说明。
当我执行脚本时,我既没有收到“已建立连接”的消息,也没有收到“未建立连接”的消息。我只得到命令提示符“>”。 我也是通过连接到虚假 IP 来得到这个提示的。
我认为我的连接字符串错误,但为什么我没有收到错误消息?
【问题讨论】:
标签: php sql-server pdo connection suse