Laravel 5.4多SqlServer的连接与DBLIB freetds的8.0
问题描述:
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->连接的库姿态。
答
这很奇怪,但似乎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!");
这工作对我来说,如果问题仍然存在尝试删除并重新安装。