[英]Connecting to a SQL 2008 R2 server through XAMPP
我正在开发一个必须通过PHP和PDO连接到MS SQL 2008 R2的Web应用程序。 我已经成功安装了驱动程序,并使用以下命令进行了检查:
var_dump(PDO::getAvailableDrivers());
我使用两台Windows服务器(均为2008年),其中一台用于SQL数据库,另一台用于XAMPP。 我们大约有八个程序从其他服务器连接到SQL Server,所以我的猜测是连接问题不是SQL Server本身。
在这里,您有一个非常简单的示例,可以从应用程序插入MS SQL数据库表:
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$company = $_POST['company'];
$name = $_POST['name'];
$firstname = $_POST['firstname'];
$number = $_POST['number'];
$host = $_POST['host'];
$licenseplate = $_POST['plate'];
$reason = $_POST['site'];
$timein = date('Y-m-d H:i:s');
$db = new PDO("sqlsrv:Server=MSSQLSERVER2,1433;Database=visitormod", "**************", "******************"); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO visitors (visitor_name, visitor_firstname, visitor_company, visitor_number, visitor_plate, visitor_in) VALUES (:lname, :fname, :company, :pnumber, :lplate, :tin)";
$q = $db->prepare($sql);
$q->execute(array(':lname'=>$name, ':fname'=>$firstname, ':company'=>$company, ':pnumber'=>$number, ':lplate'=>$licenseplate, ':tin'=>$timein));
这里是一些额外的信息:
SQL Server主机的名称(计算机名本身)= SQLSERVER
SQL SERVER的名称(在SQL Server Management Studio下=我连接的位置)= MSSQLSERVER2
这是我的问题:
我无法成功连接到数据库,我想是与它有关的
$db = new PDO("sqlsrv:Server=MSSQLSERVER2,1433;Database=visitormod", "**************", "******************");
在这里,我使用Server=MSSQLSERVER2
但这只是SQL Server Management Studio中服务器的名称。 我无处指向服务器本身,也许这是我的问题,我需要ODBC连接吗? 我在Internet上阅读了Linux环境下仅需要的内容?
有人可以帮我解释我做错了什么吗? 我是否需要建立额外的连接?
我想问的最后一个问题是,我应该在哪里看到要连接的端口号?
即
new PDO("sqlsrv:Server=MSSQLSERVER2,1433;
这是我在页面上收到的错误:
致命错误:消息为'SQLSTATE [IMSSP]的未捕获异常'PDOException':此扩展要求Microsoft SQL Server 2012本机客户端ODBC驱动程序与SQL Server通信。 访问以下URL,以下载适用于x86的Microsoft SQL Server 2012本机客户端ODBC驱动程序:go.microsoft.com/fwlink/?LinkId=163712';
错误消息是解决问题的线索:
致命错误:消息为'SQLSTATE [IMSSP]的未捕获异常'PDOException': 此扩展要求Microsoft SQL Server 2012本机客户端ODBC驱动程序与SQL Server通信。 访问以下URL,以下载适用于x86的Microsoft SQL Server 2012本机客户端ODBC驱动程序:go.microsoft.com/fwlink/?LinkId=163712';
您似乎没有安装SQL Server Native Client驱动程序。
浏览到以下URL:
向下滚动,直到看到:
Microsoft®SQLServer®2012本机客户端
下载并运行X86软件包的安装程序 ( http://go.microsoft.com/fwlink/?LinkID=239647&clcid=0x804 )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.