Как подключить Eloquent к SQL Server?

Я пытаюсь подключить 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

и это выполнено правильно. После этого я думаю, что моя конфигурация может быть неправильной.
Вот моя конфигурация Eloquent / Capsule:

[
"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

1

Решение

Не называйте имя вашей базы данных "[db].[schema]",

Используйте имя базы данных, которую вы на самом деле используете.
Если ваша база данных называется InfinteCarrots, используйте

Также есть хозяин np:DOMAINNAME\SQLEXPRESS

"driver"   => "sqlsrv",
"host"      => "np:EEBOFFICE\\SQLEXPRESS";
"database"  => "InfiniteCarrots",

Это детали подключения, которые я использую в данный момент для подключения к серверу SQL на сервере Windows.
Если вы подключаетесь к удаленному серверу, вы можете использовать для него доменное имя и настроить соединение на использование шифрования всегда.

        'driver'   => 'sqlsrv',
'host'     => 'example.com',
'port'     => 1433,
'database' => 'database_name',
'username' => 'database_user',
'password' => 'database_password',
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector