从Doctrine / Symfony2连接到MSSQL

时间:2016-07-23 00:00:39

标签: php sql-server symfony doctrine

我正在尝试从Symfony 2中的Doctrine连接到Microsoft SQL Server Express 2016.我正在使用IIS服务器。目前,这是我在参数中的内容.yaml:

parameters:
    database_driver: pdo_sqlsrv
    database_host: localhost\SQLExpress16
    database_port: 1433
    database_name: EvolutionWebShop
    database_user: sa
    database_password: **PASS**

但是当我尝试运行命令php bin/console doctrine:database:create时,我收到错误消息:

SQLSTATE[08001]: [Microsoft][ODBC Driver 13 for SQL Server]TCP Provider: No connection could be made because the target machine actively refused it.

我确保我的防火墙没有阻止端口1433,并且我的SQL Server实例正在接受TCP / IP连接。

TCP/IP Settings

我还运行以下测试脚本,只是为了确保我绝对可以从PHP连接:

<?php
try{
$conn = new PDO( "sqlsrv:server=localhost\\SQLExpress16; Database=WebShopTest", "sa", "**PASS**");  
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );  
}  
catch(Exception $e)  
{   
die( print_r( $e->getMessage() ) ); 

}
print "Success";
?>

文档确实提到了Microsoft SQL,但我找不到任何具体的例子。有没有人设法使这个工作?

  

这一章是关于Doctrine ORM的,它旨在让你映射   对象到关系数据库(如MySQL,PostgreSQL或   Microsoft SQL)

1 个答案:

答案 0 :(得分:0)

我认为这与您的架构有关,不知何故它可以在32位上运行但不在64位。尽管odbc 11应该能够创建32位的数据源。也许沿途的某些东西正在寻找特定的32位版本来接收请求并传递它但它找不到它?

我仍然有这个问题,我正在寻找答案,但最快的方法就是找到32位的所有内容。