windows 7下的 phpstudy+laravel php版本7.1.13、laravel版本5.8
安装好了php_sqlsrv_71和ODBC Driver 11 for SQL Server
database.php 文件配置如下:
'sqlsrv' => [
'driver' => 'sqlsrv',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'PC-20090101YGKX\SQLEXPRESS'),
'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 文件配置如下:
DB_CONNECTION=sqlsrv
DB_HOST=PC-20090101YGKX\SQLEXPRESS
DB_PORT=1433
DB_DATABASE=GroupData1
DB_USERNAME=sa
DB_PASSWORD=root
程序运行报错信息:
SQLSTATE[08001]: [Microsoft][ODBC Driver 11 for SQL Server]TCP 提供程序: 由于目标计算机积极拒绝,无法连接。
(SQL: select * from [GroupData1].[dbo].[Group1])
上百度和思否上面找答案,大伙基本都问tcp/ip端口是否开启,事实上我这边是开了的:
后来用Medoo写了一个demo,发现连接成功并且成功查询出了结果,demo代码如下:
require('Medoo.php');
$database = new Medoo\Medoo(
array(
'database_type' => 'MSSQL',
'database_name' => 'GroupData1',
'server' => 'PC-20090101YGKX\SQLEXPRESS',
'username' => 'sa',
'password' => 'root',
'charset' => 'utf8'
)
);
$data = $database->query("SELECT TOP 1 [ID]
,[QQNum]
,[Nick]
,[Age]
,[Gender]
,[Auth]
,[QunNum]
FROM [GroupData1].[dbo].[Group10]")->fetchAll();
echo "
";
print_r($data);
输出结果如下:
Array
(
[0] => Array
(
[ID] => 1
[0] => 1
[QQNum] => 57994217
[1] => 57994217
[Nick] => 技术会员专用
[2] => 技术会员专用
[Age] => 0
[3] => 0
[Gender] => 0
[4] => 0
[Auth] => 4
[5] => 4
[QunNum] => 900002
[6] => 900002
)
)
到这里基本差不多可以排除sqlserver的配置不合理问题,个人猜想,会不会是laravel的配置问题,无奈没有找到关于laravel连接sqlserver的相关文档。
希望看到本文的热心网友,能指点一下出现的问题。如果排除问题需要更详细的资料的话,可以私信我,或者发我的邮箱:1254624823@qq.com,谢谢大家。