操作系统:debian / contrib-jessie64 SQL Server 2014 Express PHP 5.6 Laravel 5.4
使用修补程序可以在不同的连接上运行查询,但是在"浏览器模式下#34;无法连接到多个连接。
我在某个控制器中有这个:
$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 :(得分: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!");
这对我有用,如果问题仍然存在,请尝试删除并重新安装。