繁体   English   中英

通过XAMPP连接到SQL 2008 R2服务器

[英]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功能包

向下滚动,直到看到:

Microsoft®SQLServer®2012本机客户端

下载并运行X86软件包的安装程序http://go.microsoft.com/fwlink/?LinkID=239647&clcid=0x804

暂无
暂无

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

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