我有laravel 5.8设置并可以使用MySQL。我需要连接第二个数据库(SQL Server)。
我的.env文件中包含以下内容
DB_EXT_CONNECTION=sqlsrv
DB_EXT_HOST=0.0.0.0
DB_EXT_PORT=1433
DB_EXT_DATABASE=database
DB_EXT_USERNAME=user
DB_EXT_PASSWORD=password
database.php
'sqlsrv' => [
'driver' => 'sqlsrv',
'url' => env(''),
'host' => env('DB_HOST', '0.0.0.0'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'database'),
'username' => env('DB_USERNAME', 'user'),
'password' => env('DB_PASSWORD', 'password'),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
],
我正在运行xampp并已安装以下dll
extension=php_pdo_sqlsrv_73_ts.dll
extension=php_sqlsrv_73_ts.dll
我不断得到
SQLSTATE[HY000]: [Microsoft][ODBC Driver 11 for SQL Server]Protocol error in TDS stream (SQL:select * from [dbo].[t_people]) (View: C:\xampp\htdocs
我有
$users = DB::connection('sqlsrv')->table('dbo.t_people')->select('*')->get();
在我的刀片模板中。
答案 0 :(得分:2)
按照在DB_DATABASE
文件中编写的内容,将所有DB_EXT_DATABASE
从配置文件更改为.env
。
尝试代替
$users = DB::connection('sqlsrv')->table('dbo.t_people')->select('*')->get();
做
$users = DB::connection('sqlsrv')->table('t_people')->select('*')->get();
不要在刀片文件中执行此操作,请在控制器中执行该操作。