laravel5使用freetds连接sql server的方法


Posted in PHP onDecember 07, 2018

相关版本

系统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写连接了.

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
用PHP中的 == 运算符进行字符串比较
Nov 26 PHP
php 计算两个时间戳相隔的时间的函数(小时)
Dec 18 PHP
destoon二次开发入门示例
Jun 20 PHP
windows7下安装php的php-ssh2扩展教程
Jul 04 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
Feb 14 PHP
PHP中SQL查询语句的id=%d解释(推荐)
Dec 10 PHP
PHP+mysql实现从数据库获取下拉树功能示例
Jan 06 PHP
PHP实现数组根据某个单元字段排序操作示例
Aug 01 PHP
Laravel框架查询构造器简单示例
May 08 PHP
thinkphp5修改view到根目录实例方法
Jul 02 PHP
laravel 执行迁移回滚示例
Oct 23 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 PHP
php多进程模拟并发事务产生的问题小结
Dec 07 #PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
Dec 07 #PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
Dec 06 #PHP
PHP实现简易计算器功能
Aug 28 #PHP
laravel5实现微信第三方登录功能
Dec 06 #PHP
PHP实现简单计算器小程序
Aug 28 #PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
Dec 05 #PHP
You might like
PHP如何透过ODBC来存取数据库
2006/10/09 PHP
繁体中文转换为简体中文的PHP函数
2006/10/09 PHP
PHP实现通过正则表达式替换回调的内容标签
2015/06/15 PHP
php UNIX时间戳用法详解
2017/02/16 PHP
JS格式化数字金额用逗号隔开保留两位小数
2013/10/18 Javascript
完美兼容各大浏览器获取HTTP_REFERER方法总结
2014/06/24 Javascript
NodeJS学习笔记之Http模块
2015/01/13 NodeJs
JQuery包裹DOM节点的方法
2015/06/11 Javascript
jQuery+HTML5实现图片上传前预览效果
2015/08/20 Javascript
nodejs的压缩文件模块archiver用法示例
2017/01/18 NodeJs
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
jQuery阻止移动端遮罩层后页面滚动
2017/03/15 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
2018/05/16 Javascript
微信小程序 select 下拉框组件功能
2019/09/09 Javascript
[05:34]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY第二弹
2014/06/25 DOTA
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
Python多进程并发(multiprocessing)用法实例详解
2015/06/02 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
2017/10/20 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
关于Python作用域自学总结
2019/06/10 Python
python 获取等间隔的数组实例
2019/07/04 Python
浅谈django url请求与数据库连接池的共享问题
2019/08/29 Python
python之pymysql模块简单应用示例代码
2019/12/16 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
Python过滤序列元素的方法
2020/07/31 Python
使用 css3 transform 属性来变换背景图的方法
2019/05/07 HTML / CSS
来自世界各地的优质葡萄酒:VineShop24
2018/07/09 全球购物
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
金属材料工程个人求职的自我评价
2013/12/04 职场文书
保密工作实施方案
2014/02/24 职场文书
学校综治宣传月活动总结
2014/07/02 职场文书
乡镇党委书记第三阶段个人整改措施
2014/09/16 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
公司内部升职自荐信
2015/03/27 职场文书
《曹冲称象》教学反思
2016/02/20 职场文书
六一儿童节致辞稿(3篇)
2019/07/11 职场文书