我目前正在全新安裝 Laravel 6 并嘗試將其連接到我的 Microsoft SQL Server,并且我正在使用 Laragon 在本地提供服務(wù)。我已經(jīng)下載了 SQL Server 的 ODBC 驅(qū)動(dòng)程序。我的 database.php 文件包含:'default' => env('DB_CONNECTION', 'sqlsrv'),...'sqlsrv' => [ 'driver' => 'sqlsrv', 'url' => env('DATABASE_URL'), 'odbc' => true, // I added this line 'odbc_datasource_name' => '{SQL Server}', // I added this line 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '1433'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'prefix' => '', 'prefix_indexes' => true, ],我的 .env 包含有效的登錄憑據(jù)。為了測(cè)試我是否可以連接到數(shù)據(jù)庫,我檢查了 welcome.blade.php:@php if (DB::connection()->getDatabaseName()) { echo "connected successfully to database ".DB::connection()->getDatabaseName(); }@endphp這在我的頁面上回顯為:成功連接到數(shù)據(jù)庫testDatabase我已經(jīng)進(jìn)入 Tinker 看看我是否可以從我的模型中獲得所有員工的集合,即 Carer.php:namespace App;use Illuminate\Database\Eloquent\Model;class Carer extends Model{ protected $table = "dbo.carer"; protected $primaryKey = 'CarerID';} ...$carer = App\Carer::all();哪個(gè)返回:Illuminate/Database/QueryException 消息“找不到驅(qū)動(dòng)程序(SQL:從 [dbo].[carer] 中選擇 *)”如果我在嘗試檢索模型數(shù)據(jù)時(shí)找不到驅(qū)動(dòng)程序,這是否意味著我連接到數(shù)據(jù)庫的檢查有問題?我是否必須在 Laragon 中做一些特定的事情才能讓它在 SQL Server 上工作?謝謝。更新:按照這里和這里的說明,我已經(jīng)成功地將 PDO 驅(qū)動(dòng)程序添加到我的 php.ini 文件中,并讓它與 Laragon 一起運(yùn)行。當(dāng)我打印出來時(shí),phpinfo()我現(xiàn)在可以看到 sql servers。我現(xiàn)在得到的錯(cuò)誤是:Illuminate/Database/QueryException with message 'SQLSTATE[08001]: [Microsoft][SQL Server 的 ODBC 驅(qū)動(dòng)程序 17]TCP 提供程序:無法建立連接,因?yàn)槟繕?biāo)機(jī)器主動(dòng)拒絕它。(SQL: 從 [dbo].[carer] 中選擇前 1 *)'
1 回答

慕少森
TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊
回答這個(gè)問題以防其他人陷入同一點(diǎn)。
我的 Microsoft SQL Server 沒有啟用 TCP/IP 連接。
你想要:
打開 SQL Server 配置管理器
在 SQL Server 網(wǎng)絡(luò)配置下,為 MSSQLSERVER 選擇協(xié)議
右鍵單擊 TCP/IP,然后單擊啟用
重新啟動(dòng) SQL Server (MSSQLSERVER)
- 1 回答
- 0 關(guān)注
- 128 瀏覽
添加回答
舉報(bào)
0/150
提交
取消