【发布时间】:2015-04-16 18:54:37
【问题描述】:
我正在使用 Fatfree 框架并尝试使用 FreeTDS 连接到 MSSQL-Server。 FreeTDS 已被另一个网站使用,因此 FreeTDS/MSSQL 连接工作正常。
请问,有人可以帮助我使用 fatfree 进行 DB-Connection 吗?
这是从工作页面 (FreeTDS-Parameters odbc.ini) 获得的信息:
define('SQL_DATABASE', 'TEST_DB');
define('SQL_HOST', 'TEST_HOST');
define('SQL_USER', 'TEST_USER');
define('SQL_PASSWORD', 'TEST_PASS');
连接字符串应该如何寻找freetds?
$db = new DB\SQL('dblib:SERVERNAME='.SQL_HOST.';Database='.SQL_DATABASE,SQL_USER,SQL_PASSWORD);
返回错误:找不到驱动程序
freetds.conf
[global]
dump file = /tmp/freetds.log
debug level = 10
[TEST_HOST]
host = XXX.XXX.XXX.XXX
port = 1433
tds version = 8.0
client charset = ISO-8859-1
我启用了 FreeTDS-Logging。 在日志文件中找不到“TEST_HOST”,从工作页面中找到了很多。
看起来 fatfree 正在尝试连接到 127.0.0.1:
dblib.c:4945:dberrhandle(0x7fa187a5e1e0)
dblib.c:4964:dbmsghandle(0x7fa187a5e330)
dblib.c:761:dbsetlname(0x7fa19b6b65f0, TEST_USER, 2)
dblib.c:761:dbsetlname(0x7fa19b6b65f0, TEST_PASS, 3)
dblib.c:761:dbsetlname(0x7fa19b6b65f0, PHP freetds, 5)
dblib.c:1146:dbopen(0x7fa19b6b65f0, 127.0.0.1, [sybase])
dblib.c:273:dblib_get_tds_ctx(void)
config.c:185:Getting connection information for [127.0.0.1].
在日志中发现 TEST_USER 和 TEST_DB 的原因。
【问题讨论】:
-
与您用于工作站点的连接字符串相同吗?
-
工作页面不使用fatfree,$mssql_connection = @mssql_connect(SQL_HOST, SQL_USER, SQL_PASSWORD);
-
你能从 freetds.conf 发布相关的服务器配置信息吗?
标签: sql-server database connection