繁体   English   中英

使用FreeTDS的Fatfree数据库连接

[英]Fatfree DB Connection using FreeTDS

我正在使用Fatfree Framework,并尝试使用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有关。

您在什么操作系统上运行它? 如果使用* nix,请在连接字符串的DSN中使用dblib:

$db = new DB\SQL('dblib:host='.SQL_HOST.';dbname='.SQL_DATABASE,SQL_USER,SQL_PASSWORD);

解决了!

正确的连接字符串为:

$db = new DB\SQL('odbc:dsn='.SQL_HOST.';database='.SQL_DATABASE,SQL_USER,SQL_PASSWORD);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM