搜索
系统检测到您的用户名不符合规范:

thinkphp5.1 连接sqlserver数据库时遇到的问题

浏览:2061 发布日期:2020年09月07日 分类:ThinkPHP5专区 关键字: thinkphp5.1 sqlserver
貌似发现了一个bug;
当连接sqlserver数据库时:
如果配置正常,能正常返回数据;
如果连接不上,则没有返回异常:
我用过官方文档的各种方式测试也是一样,用PDO方式,sqlsrv_connect方式都测试过了,都是出现同一个问题

示例代码:
database.php配置文件代码:
//数据库配置-本地测试-test
'db_local_test' => [
// 数据库类型-sqlserver
'type' => 'sqlsrv',
// 服务器地址,不可使用127.0.0.1,否则报错:SQLSTATE[08001]: [Microsoft][ODBC Driver 17 for SQL Server]命名管道提供程序: 无法打开与 SQL Server 的连接 [5].
'hostname' => 'localhost',
// 端口,保留空,不可填1433,否则报错:SQLSTATE[08001]: [Microsoft][ODBC Driver 17 for SQL Server]TCP 提供程序: 由于目标计算机积极拒绝,无法连接。
'hostport' => '',
// 数据库名
'database' => 'test',
// 数据库用户名
'username' => 'sa',
// 数据库密码
'password' => '123456',
// 连接dsn
'dsn' => 'sqlsrv:Server=localhost;Database=test',
// 数据库连接参数
'params' => [],
// 数据库编码-UTF-8
'charset' => 'UTF-8',
// 数据库视图表
'view_table' => 'View_test_user',
],
代码:
//获取系统配置-本地测试-test
$configLocal = config::get('database.db_local_test');
$view_table = $configLocal['view_table'];
//示例sql:SELECT * FROM View_test_user WHERE id = 1
$sql = 'SELECT * FROM View_test_user ';
$res = Db::connect($configLocal)->query($sql);
return $res;

当填写的服务器正确并能正常访问时,是有数据返回的,
当配置正确,但服务器连接不上时,是没有异常返回的,该怎么解决?
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
渊虹惜缘
积分:882 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /