您现在的位置是:网站首页>软件开发>开发终端>yii2yii2

yii2连接sqlsever的一些注意点 (windows解法)

风口下的猪2023-03-15yii2

简介

yii2连接sqlsever一般会出现以下问题:

(1)php没有装sqlsrv扩展;

(2)软件运行的操作系统,没有装ODBC Driver驱动;

(3)项目代码中配置连接sqlsever的dsn写法不对(不能照着官方的写)


一.php依据版本安装对应的sqlsrv扩展


(1)先新建一个可访问php文件,查看php详情及扩展

<?php    echo phpinfo();?>


     

如果PDO中没有sqlsrv就需要安装sqlsrv扩展


(2)下载php版本对应的sqlserv.exe,通过sqlserv.exe生成扩展文件

sqlserv.exe下载地址https://docs.microsoft.com/en-us/sql/connect/php/release-notes-php-sql-driver?view=sql-server-2017#previous-releases

如图,如果是php7.4的就下载5.8版本

点击执行下载的sqlsrv.exe生成扩展到选择的文件夹


(3)将生成的扩展php_pdo_sqlsrv_XX_nts_x64.dll和php_sqlsrv_XX_nts_x64.dll拷贝到php/ext目录下


(4)在php.ini中加入动态库并开启扩展配置

extension=php_pdo_sqlsrv_73_nts_x64.dll

extension=php_sqlsrv_73_nts_x64.dll


二.安装ODBC驱动

ODBC Driver 11 For SQL (msodbcsql.msi),注意是64还是86位

驱动下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=36434

点击安装即可。



二.项目代码中配置db连接,common/config/main-local.php中db的dsn写法调整

如果执行

报错:Error:SQLSTATE[IMSSP]: An invalid keyword 'host' was specified in the DSN string

多半是dsn写法错误

我之前的以下写法直接报host字段错误

sqlsrv:host=localhost;dbname=mydatabase


正确的规范写法如下:

  • MySQL, MariaDB: mysql:host=localhost;dbname=mydatabase
  • SQLite: sqlite:/path/to/database/file
  • PostgreSQL: pgsql:host=localhost;port=5432;dbname=mydatabase
  • CUBRID: cubrid:dbname=demodb;host=localhost;port=33000
  • MS SQL Server (via sqlsrv driver): sqlsrv:Server=localhost;Database=mydatabase
  • MS SQL Server (via dblib driver): dblib:host=localhost;dbname=mydatabase
  • MS SQL Server (via mssql driver): mssql:host=localhost;dbname=mydatabase
  • Oracle: oci:dbname=//localhost:1521/mydatabase

eg:

 'db_gbq' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'sqlsrv:server=13.4534.635.12,1433;database=测试',
            'username' => 'ddddds',
            'password' => 'ttttter',
            'charset' => 'utf8'
        ],




很赞哦! (0)

  • 软件开发
  • 素质要求
  • 计算机基础
  • 架构
  • 安全
  • 性能
  • 运维
  • 尾页
  • 数据库
  • 开发终端
  • 语言基础
  • 项目管理
  • 产品设计
  • 系统
  • 工作规范
  • 计算机网络
  • 前端技术栈
  • 数据结构
  • 计算机组成原理
  • 后端技术栈
  • 性能优化
  • 安全设计
  • 常见模块
  • 计算机操作系统
  • 服务器
  • python
  • MySQL
  • thinkphp
  • PHP
  • Java
  • JavaScript
  • Windows
  • Linux
  • 特效
  • indexedDB
  • vue
  • 淘宝联盟
  • Ionic
  • Angular
  • 微信小程序
  • 支付宝小程序
  • uni-app
  • css/sass/less
  • 支付
  • socket
  • 爬虫
  • web性能优化
  • 消息推送
  • CVM
  • sqlite
  • Redis
  • 前端基础
  • 基础
  • element
  • Nginx
  • yii2
  • /ponder/index.php/index/catelist/catelist/cateid/10.html

    标签云

    站点信息

    • 文章统计:528篇
    • 移动端访问:扫码进入SQ3R