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生成网页快照 不用COM不用扩展.
Feb 11 PHP
收藏的PHP常用函数 推荐收藏保存
Feb 21 PHP
header导出Excel应用示例
Jan 24 PHP
Php中使用Select 查询语句的实例
Feb 19 PHP
PHP批量检测并去除文件BOM头代码实例
May 08 PHP
PHP高级编程实例:编写守护进程
Sep 02 PHP
php模仿asp Application对象在线人数统计实现方法
Jan 04 PHP
PHP随机生成唯一HASH值自定义函数
Apr 20 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
May 22 PHP
Thinkphp框架开发移动端接口(1)
Aug 18 PHP
10个值得深思的PHP面试题
Nov 14 PHP
laravel 验证错误信息到 blade模板的方法
Sep 29 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与XML、XSLT、Mysql的结合运用实现代码
2009/11/19 PHP
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
php实现的农历算法实例
2015/08/11 PHP
深入解析PHP中SESSION反序列化机制
2017/03/01 PHP
CodeIgniter整合Smarty的方法详解
2017/08/25 PHP
PHP实现的支付宝支付功能示例
2019/03/26 PHP
Javascript typeof 用法
2008/12/28 Javascript
在JavaScript中监听IME键盘输入事件
2011/05/29 Javascript
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
java与javascript之间json格式数据互转介绍
2013/10/29 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
2014/12/04 Javascript
js实现横向伸展开的二级导航菜单代码
2015/08/28 Javascript
vue.js表格组件开发的实例详解
2016/10/12 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
通过npm引用的vue组件使用详解
2017/03/02 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
Angularjs中数据绑定的实例详解
2017/08/25 Javascript
vue.js使用3DES加密的方法示例
2018/05/18 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
2019/09/09 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
Python使用xlrd模块操作Excel数据导入的方法
2015/05/26 Python
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
Python入门_学会创建并调用函数的方法
2017/05/16 Python
python3+PyQt5实现文档打印功能
2018/04/24 Python
对python3.4 字符串转16进制的实例详解
2019/06/12 Python
Python命令行click参数用法解析
2019/12/19 Python
css3实现可拖动的魔方3d效果
2019/05/07 HTML / CSS
地球鞋加拿大官网:Earth Shoes Canada
2020/11/17 全球购物
UNIX操作系统结构由哪几部分组成
2016/02/17 面试题
毕业生就业意向书
2014/04/01 职场文书
小学校长竞聘演讲稿
2014/05/16 职场文书
大学毕业生个人自荐书
2014/07/02 职场文书
2016年全国助残日活动总结
2016/04/01 职场文书
劳动合同变更协议书范本
2019/04/18 职场文书
高考升学宴主持词
2019/06/21 职场文书
创业计划书之牛肉汤快餐店
2019/10/08 职场文书