我目前正在全新安装 Laravel 6 并尝试将其连接到我的 Microsoft SQL Server,并且我正在使用 Laragon 在本地提供服务。
我已经下载了 SQL Server 的 ODBC 驱动程序。
我的 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 包含有效的登录凭据。为了测试我是否可以连接到数据库,我检查了 welcome.blade.php:
@php
if (DB::connection()->getDatabaseName())
{
echo "connected successfully to database ".DB::connection()->getDatabaseName();
}
@endphp
这在我的页面上回显为:
成功连接到数据库testDatabase
我已经进入 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();
哪个返回:
Illuminate/Database/QueryException 消息“找不到驱动程序(SQL:从 [dbo].[carer] 中选择 *)”
如果我在尝试检索模型数据时找不到驱动程序,这是否意味着我连接到数据库的检查有问题?我是否必须在 Laragon 中做一些特定的事情才能让它在 SQL Server 上工作?
谢谢。
更新:按照这里和这里的说明,我已经成功地将 PDO 驱动程序添加到我的 php.ini 文件中,并让它与 Laragon 一起运行。当我打印出来时,phpinfo()
我现在可以看到 sql servers。
我现在得到的错误是:
Illuminate/Database/QueryException with message 'SQLSTATE[08001]: [Microsoft][SQL Server 的 ODBC 驱动程序 17]TCP 提供程序:无法建立连接,因为目标机器主动拒绝它。(SQL: 从 [dbo].[carer] 中选择前 1 *)'
慕少森
localhost拒绝连接请求
macbookpro无法安装,显示连接被拒绝
为什么我的tomcat老是提示:拒绝连接呢
localhost 拒绝了我们的连接请求