我正在尝试将Laravel 5.6连接到我的SQLEXPRESS。
当我尝试将表从Laravel迁移到SQL时,我收到此错误:
SQLSTATE [08001]:[Microsoft] [SQL Server的ODBC驱动程序13] TCP 提供者:无法建立连接,因为目标计算机主动拒绝它。 (SQL:从sysobjects中选择*,其中type ='U',name = migrations)
我已经将sqlsrv extionsion安装到php并测试了它:
<?php
$serverName = "MYNAME\\SQLEXPRESS";
$connectionInfo = array( "Database"=>"Portal", "UID"=>"sa", "PWD"=>"mySecretPwd");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection established.<br />";
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>
已成功建立连接。
我也在phpinfo();
中看到了扩展名但如果使用此设置切换到LAravel 5.6:
我的环境:
DB_CONNECTION=sqlsrv
DB_HOST=MYNAME\\SQLEXPRESS
DB_PORT=1433
DB_DATABASE=Portal
DB_USERNAME=sa
DB_PASSWORD=mySecredPwd
我的配置/数据库:
'default' => env('DB_CONNECTION', 'sqlsrv'),
'connections' => [
.....
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'MYNAME\\SQLEXPRESS'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
],
],
我收到了一个错误。 我的serverconfigurations管理器如下所示:
我也可以使用SQL Server Management Studio 2017进行连接。
答案 0 :(得分:3)
首先,找到默认实例的端口号:
检查端口号。如果您有MS SQL Server Management Studio,请在master数据库中执行:coord.ToString("G17")
使用命令提示符(会有很多行,但您必须分析):10
15
20
25
20
25
10
15
可能的解决方案:
xp_readerrorlog 0, 1, N'Server is listening on'
如何配置服务器以侦听特定端口:
良好的起点是: SQL Server Browser Service和Configure a Server to Listen on a Specific TCP Port
我希望这可以帮到你。