我正在使用 Fatfree 框架并尝试使用 FreeTDS 连接到 MSSQL-Server。 FreeTDS 已被另一个网站使用,因此 FreeTDS/MSSQL 连接工作正常。
拜托,有人可以帮助我使用 fatfree 进行 DB 连接吗?
这是从工作页面 (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 找到它。
最佳答案
你在什么操作系统上运行这个?如果您使用的是 *nix,请在连接字符串的 DSN 中使用 dblib:
$db = new DB\SQL('dblib:host='.SQL_HOST.';dbname='.SQL_DATABASE,SQL_USER,SQL_PASSWORD);
关于sql-server - 使用 FreeTDS 的 Fatfree 数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29683605/