【问题标题】:Fatfree DB Connection using FreeTDS使用 FreeTDS 的 Fatfree 数据库连接
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

  • 新错误:SQLSTATE[HY000] 无法连接:Adaptive Server 不可用或不存在(严重性 9)
  • 这通常表明您的 freetds.conf 配置或连接字符串(用户名、密码)中的其他内容存在问题。仔细检查这些配置设置。
  • 我在上面添加了 freetds.conf。主机、数据库、用户、密码的定义语句被复制/粘贴。我认为它必须是连接字符串,因为其他页面(mssql_connect)工作得很好。为什么我不能使用 "mssql:..." => fatfreeframework.com/sql#Constructor
【解决方案2】:

解决了!

正确的连接字符串是:

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

【讨论】:

    猜你喜欢
    • 2015-01-15
    • 2012-04-24
    • 2014-08-23
    • 2018-10-04
    • 2017-04-13
    • 1970-01-01
    • 2011-06-16
    • 2014-11-06
    • 2011-11-27
    相关资源
    最近更新 更多