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 相关文章推荐
教你如何把一篇文章按要求分段
Oct 09 PHP
PHP学习 运算符与运算符优先级
Jun 15 PHP
一个PHP数组应该有多大的分析
Jul 30 PHP
提高PHP编程效率的53个要点(经验小结)
Sep 04 PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
Mar 29 PHP
php面向对象 字段的声明与使用
Jun 14 PHP
七款最流行的PHP本地服务器分享
Feb 19 PHP
php实现上传图片保存到数据库的方法
Feb 11 PHP
浅谈php7的重大新特性
Oct 23 PHP
PHP中strpos、strstr和stripos、stristr函数分析
Jun 11 PHP
THINKPHP5分页数据对象处理过程解析
Oct 28 PHP
PHP 对接美团大众点评团购券(门票)的开发步骤
Apr 03 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取整数函数常用的四种方法小结
2012/07/05 PHP
php实现图片转换成ASCII码的方法
2015/04/03 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
PHP使用反射机制实现查找类和方法的所在位置
2016/04/22 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
2016/04/26 PHP
Linux平台PHP5.4设置FPM线程数量的方法
2016/11/09 PHP
一段好玩的JavaScript代码
2006/12/01 Javascript
JavaScript面象对象设计
2008/04/28 Javascript
jquery text()要注意啦
2009/10/30 Javascript
js创建对象的几种常用方式小结(推荐)
2010/10/24 Javascript
JS与C#编码解码
2013/12/03 Javascript
jQuery实现多按钮单击变色
2014/11/27 Javascript
动态加载js的方法汇总
2015/02/13 Javascript
JavaScript实现自动变换表格边框颜色
2015/05/08 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
JavaScript中instanceof运算符的使用示例
2016/06/08 Javascript
JQuery实现DIV其他动画效果的简单实例
2016/09/18 Javascript
vue iview实现动态路由和权限验证功能
2018/04/17 Javascript
微信小程序生成分享海报方法(附带二维码生成)
2019/03/29 Javascript
javascript sort()对数组中的元素进行排序详解
2019/10/13 Javascript
Vue axios与Go Frame后端框架的Options请求跨域问题详解
2020/03/03 Javascript
js+html+css实现手动轮播和自动轮播
2020/12/30 Javascript
[00:17]游戏风云独家报道:DD赛后说出数字秘密 吓死你们啊!
2014/07/13 DOTA
[01:37]全新的一集《真视界》——TI7总决赛
2017/09/21 DOTA
python简单实现刷新智联简历
2016/03/30 Python
python3实现ftp服务功能(服务端 For Linux)
2017/03/24 Python
python机器人行走步数问题的解决
2018/01/29 Python
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
荷兰鞋类购物网站:Donelli
2019/05/24 全球购物
中西医专业毕业生职业规划书
2014/02/24 职场文书
实验心得体会
2014/09/05 职场文书
毕业设计论文评语
2014/12/31 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
话题作文之诚信
2019/11/28 职场文书
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers