2017-05-07 28 views
2

OS:Debian的/的contrib-jessie64 的SQL Server 2014快速 PHP 5.6 Laravel 5.4Laravel 5.4多SqlServer的连接与DBLIB freetds的8.0

使用鼓捣可以运行查询在不同的连接,但在 “浏览器模式” 可不能连接到多个连接。

我有这样的一些控制:

$this->saveToAnotherConnection(); 

    $row = \Contoso\Apartment::findOrNew($this->request['ApartmentID']); 
    $row->fill($this->request->all()); 
    $row->save(); 

saveToAnotherConnection函数打开一个PDO连接,而是抛出异常:

$this->connection = new \PDO("dblib:host=10.0.1.11;dbname=Contoso", "sa", "sa sa ya tu sa! ya tu sa!"); 

异常消息:

SQLSTATE[HY000] Unable to connect: Adaptive Server is unavailable or does not exist (severity 9) 
我不使用

Laravel数据库配置,因为我正在使用接收$ this->连接的库姿态。

回答

0

这很奇怪,但似乎dblib不能识别我的服务器地址或SQLServer实例......真的很奇怪。

设置DSN适用于我。编辑/etc/freetds/freetds.conf和去文件的末尾,并把这个

[ms-sql] 
host = 10.0.1.11 
port = 1433 
tds version = 8.0 

如果你的DSN名称是括号内。

然后连接到您的SQLServer与此:

$this->connection = new \PDO("dblib:host=ms-sql;dbname=Contoso", "sa", "sa sa ya tu sa! ya tu sa!"); 

这工作对我来说,如果问题仍然存在尝试删除并重新安装。