我正在尝试将Eloquent连接到我的SQL Server数据库。
但是它一直让我QueryException: SQLSTATE[HY000] unrecognized msgno (localhost) (severity 11) (SQL: select top 1 * from [groups] where [groups].[id] = -6)
我尝试执行此查询并得到SQL Error [208] [S0002]
,然后将查询重写为:
SELECT TOP 1 * FROM [db].[schema].[groups] WHERE [db].[schema].[groups].[id] = -6
,它可以正确执行。之后,我认为我的配置可能不正确。
这是我的口才/胶囊配置:
[
"driver" => "sqlsrv",
"host" => "localhost",
"database" => "[db].[schema]",
"username" => "sa",
"password" => "dbpass",
"charset" => "utf8",
"collation" => "",
"prefix" => "",
];
SQL Server版本:Microsoft SQL Server 2019 (CTP2.2) - 15.0.1200.24 (X64) Dec 5 2018 16:51:26 Enterprise Edition (64-bit) on Linux (KDE neon)
雄辩的版本:5.6.28
PHP版本:7.2.10
答案 0 :(得分:1)
不命名您的数据库名称"[db].[schema]",
使用您实际使用的数据库的名称。 如果您的数据库名为InfinteCarrots,请使用
还要拥有主机np:DOMAINNAME\SQLEXPRESS
"driver" => "sqlsrv",
"host" => "np:EEBOFFICE\\SQLEXPRESS";
"database" => "InfiniteCarrots",
这些是我目前用于在Windows服务器上与SQL Server连接的连接详细信息。 如果要连接到远程服务器,则将要使用其域名,并且将连接设置为始终使用加密。
'driver' => 'sqlsrv',
'host' => 'example.com',
'port' => 1433,
'database' => 'database_name',
'username' => 'database_user',
'password' => 'database_password',