laravel5使用freetds连接sql server的方法
相关版本
系统ubuntu 16.04, 使用的PHP版本是7.0.30, sqlserver 2012, freetds为0.92 Laravel5.5和5.4都测试过了
什么是FreeTDS
简单的说FreeTDS是一个程序库,可以实现在Linux系统下访问微软的SQL数据库! FreeTDS 是一个开源的程序库,是TDS(表列数据流 )协议的再次实现。它可以被用在Sybase的db-lib或者ct-lib库。它也包含一个ODBC的库。允许许多开源的应用软件比如Perl和PHP(或者你自己的c或C++程序)去连接到Sybase或 Microsoft SQL服务器。FreeTDS 以源码的形式被发布,几乎可以在任何操作系统上编译。意味着Unix和类Unix系统(包括著名的分支如Interix和QNX),还有Win32,VMS,和OSX。
本文将给大家详细介绍laravel5使用freetds连接sql server的相关内容,下面话不多说了,来一起看看详细的介绍吧
步骤如下
安装php驱动
sudo apt-get install php7.0-odbc
sudo apt install php7.0-sybase
安装freetds
sudo apt-get install freetds-bin freetds-common tdsodbc odbcinst unixodbc unixodbc-dev
sudo mv /etc/odbcinst.ini /etc/odbcinst.ini.bak
sudo cp /usr/share/tdsodbc/odbcinst.ini /etc/
配置freetds
sudo vim /etc/freetds/freetds.conf
修改配置
[global]
tds version = 8.0 # TDS version, ref <a href="http://www.freetds.org/userguide/choosingtdsprotocol.htm" rel="external nofollow" target="_blank" this</a .
client charset = UTF-8
text size = 20971520
[Server2012] #自定义名称,后面需要使用
host = {yourdomain}.database.windows.net // ip地址或域名
port = 1433
tds version = 8.0 #8.0为2012其他自行测试
测试SQLSERVER
TDSVER=8.0 tsql -H my_server_host -p 1433 -U my_user -P my_password -D my_database
配置Laravel5
打开config/database.php在connections中添加配置,驱动使用sqlsrv
'mssql' = [
'driver' = 'sqlsrv',
'host' = 'Server2012', // 这个对应freetds.conf的配置名称
'port' = '1433',
'database' = env('DB_DATABASE', '数据库'),
'username' = env('DB_USERNAME', '用户'),
'password' = env('DB_PASSWORD', '密码'),
'charset' = 'utf8',
'collation' = 'utf8_unicode_ci',
'prefix' = '',
'strict' = false,
'engine' = null,
],
多数据库
如果你用了mysql又想用sqlserver的部份信息,个人项目原因,但一般的做法是sqlserver的系统写API让Mysql系统的调用,但这次偷偷懒,就两个一起用了
在Model中 加入protected connection = 'mssql';并使用protected table = 'EMPLOYEE'; 指明数据表,就可以不用每次在Controller写连接了.
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ZaLou.Cn的支持。
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解
- 构建没有数据集的辣辣椒分类器,准确性达到96%
- 由 Redis 分布式锁造成的重大事故
- 10分钟搞定 Java 并发队列好吗?好的
- MySQL 案例:关于程序端的连接池与数据库的连接数
- spark和kafka jar包冲突NoSuchMethodError: net.jpountz.lz4.LZ4BlockInputStream
- 聊聊claudb的scripting command
- PHP怎么获取视频总时长的函数方法
- 构建Docker私有仓库
- Dockerfile使用
- Nginx+KeepAlived实现高可用
- Docker使用
- 高性能反向代理器Nginx
- Docker初识
- Rabbit-使用
- Netty之WebSocket协议应用开发