Как подключить Eloquent к SQL Server? - PullRequest
0 голосов
/ 18 декабря 2018

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

0 голосов
/ 18 декабря 2018

Не называйте имя вашей базы данных "[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',
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...