Laravel Microsoft Sql Server连接错误

时间:2017-12-15 16:48:41

标签: php sql-server laravel laravel-5 sqlsrv

我收到以下错误,我不知道原因:

  

Illuminate \ Database \ QueryException(08001)SQLSTATE [08001]:[Microsoft] [SQL Server的ODBC驱动程序13] TCP提供程序:无法建立连接,因为目标计算机主动拒绝它。

.env 包含

DB_CONNECTION=sqlsrv
DB_HOST=server\name
DB_PORT=1433
DB_DATABASE=mydatabasename
DB_USERNAME=dbusername
DB_PASSWORD=dbuserpassword

database.php中

'default' => env('DB_CONNECTION', 'sqlsrv'), 
    'connections' => [ 
    'sqlsrv' => [
            'driver' => 'sqlsrv',
            'host' => env('DB_HOST', 'server\name'),
            'port' => env('DB_PORT', '1433'),
            'database' => env('DB_DATABASE', 'mydatabasename'),
            'username' => env('DB_USERNAME', 'dbusername'),
            'password' => env('DB_PASSWORD', 'dbuserpassword'),
            'charset' => 'utf8',
            'prefix' => '',
            'pooling' => false,
        ],

    ],

在submitLogin函数中此行的UserController.php中抛出错误:

if (Auth::attempt(['user_name'=>$request['user_name'], 'password'=>$request['password']])) {
            return redirect()->route('dashboard');
        }

并且用户模型定义了以下字段:

public $timestamps = false;
protected $table = 'USERS';
protected $primaryKey = 'USER_ID';

此外: 我使用的是php 7.0.23,wamp64bit 3.1.0 扩展名:

extension=php_sqlsrv_7_ts_x86.dll
extension=php_sqlsrv_7_ts_x64.dll

extension=php_sqlsrv_7_nts_x86.dll
extension=php_sqlsrv_7_nts_x64.dll

extension=php_pdo_sqlsrv_7_ts_x86.dll
extension=php_pdo_sqlsrv_7_ts_x64.dll

extension=php_pdo_sqlsrv_7_nts_x86.dll
extension=php_pdo_sqlsrv_7_nts_x64.dll

启用 enter image description here

我还应该注意数据库已存在。

我可以做什么或更改或修复什么来建立没有错误的服务器连接?

1 个答案:

答案 0 :(得分:0)

将SQLServer用作Laravel的数据库服务器时,如果确定配置应按以下步骤进行:

1-如果服务器配置有默认实例(例如(server01 \ SQL01)),则应将DB_PORT设置为null或空字符串('')

DB_GRH_HOSTNAME=127.0.0.1\SQLExpress01
DB_GRH_PORTNUMB=null

2-如果服务器配置为没有默认实例,并且应该使用TCP / IP端口,那么我们应该将DB_PORT设置为服务器上配置的tcp / ip端口

DB_HOST=127.0.0.1
DB_PORT=1433

希望能帮助到某人