【发布时间】:2017-02-13 19:20:58
【问题描述】:
运行我的 PHP 程序后,我收到如下错误:
Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -49 [code] => -49 [2] => 此扩展需要 Microsoft ODBC 驱动程序11 for SQL Server。访问以下 URL 下载适用于 x86 的 SQL Server 的 ODBC 驱动程序 11:http://go.microsoft.com/fwlink/?LinkId=163712 [message] => 此扩展需要适用于 SQL Server 的 Microsoft ODBC 驱动程序 11。访问以下 URL 以下载 ODBC 驱动程序11 for SQL Server for x86: http://go.microsoft.com/fwlink/?LinkId=163712 ) [1] => Array ([0] => IM002 [SQLSTATE] => IM002 [1] => 0 [code] => 0 [2] => [Microsoft] [ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序 [消息] => [Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序))
我已安装所有扩展并在 PHP 中启用。但我仍然收到此错误。
<?php
$serverName ="tcp:myserver.database.windows.net,1433";
$usr="username";
$pwd="password";
$db="SensorDataBase";
$connectionInfo = array("UID" => $usr, "PWD" => $pwd, "Database" => $db);
$conn = sqlsrv_connect($serverName, $connectionInfo);
if( $conn )
{
echo "Connected";
}
else
{
echo "Error As follows: ";
die( print_r( sqlsrv_errors(), true));
}
$sql = "CREATE TABLE fyi_links ("
. " id INT NOT NULL VARCHAR (6)"
. ", url VARCHAR(80) NOT NULL"
. ", notes VARCHAR(1024)"
. ", counts INT"
. ", time DATETIME"
. ")";
$res = sqlsrv_query($conn, $sql);
//$res = sqlsrv_query($sql,$conn);
if (!$res) {
print('Table creation failed with error:\n');
print(" ".sqlsrv_get_last_message()."\n");
}
else {
print("Table fyi_links created.\n");
}
mssql_close( $conn);
?>
【问题讨论】:
-
愚蠢的问题,但你安装了 Microsoft ODBC Driver 11 如果不是 its here on the microsoft site
-
谢谢。虽然我在 MS Azure 中授予了对“116.73.45.2”的访问权限,但我收到此错误:不允许 IP 地址为“116.73.45.2”的客户端访问服务器。要启用访问,请使用 Windows Azure 管理门户或在 master 数据库上运行 sp_set_firewall_rule 为该 IP 地址或地址范围创建防火墙规则。
-
这听起来像是一个新问题的候选人,上面有一些不同的标签
-
@TaleWords 请停止将 [sqlsrv] 编辑为 [sql-server]。阅读标签描述,它们根本不同,它们不是同义词。