我真的遇到了麻烦。我已经设置了mssql-connect驱动程序并在Linux服务器上运行,它现在了解该功能并且不会返回任何错误。
我让我们的服务器管理团队配置Windows服务器以允许从linux服务器连接。他们测试了这一点,并确认它一切正常,但我似乎无法用PHP连接它。
我尝试了各种连接字符串,但它不会连接,这是一个例子
SELECT DISTINCT
gaps.gapStartTime as gapStartTime,
coalesce(gaps.gapEndTime, NOW()) as gapEndTime
FROM
/* Subquery to get the data we need to "build" the gaps*/
(SELECT
e1.endTime as gapStartTime,
/* There is a gap if the endTime is not between another interval */
CASE WHEN EXISTS
(SELECT * FROM e AS e2 WHERE
e1.endTime between e2.startTime and e2.endTime and
e1.endTime <> e2.endTime and
e1.id <> e2.id)
THEN
"false"
ELSE "true" END AS isGap,
(select min(e3.startTime) FROM e as e3 WHERE e3.startTime > e1.endTime) as gapEndTime
FROM E AS e1) AS gaps
WHERE
isGap = "true"
ORDER BY
gaps.gapStartTime
我总是得到: 警告:mssql_connect()[function.mssql-connect]:无法连接到服务器:第10行/home/v3rec/public_html/test.php中的214.133.182.71,1443 连接到MSSQL时出错了
MS SQL数据库的用户名和密码。香港专业教育学院尝试使用和没有端口名称。我正在运行SQL 2012,我不确定实例名称是什么?我错过了什么吗?为什么PHP无法连接?
答案 0 :(得分:3)
我建议您使用PDO并执行此操作:
$dbhost = "myhost";
$dbport = 10060;
$dbname = "tempdb";
$dbuser = "dbuser";
$dbpass = "password";
try {
$dbh = new PDO ("dlib:host=$dbhost:$dbport;dbname=$dbname","$dbuser","$dbpass");
} catch (PDOException $e) {
echo "Failed to get DB handle: " . $e->getMessage() . "\n";
exit;
}