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 相关文章推荐
MySQL中create table语句的基本语法是
Jan 15 PHP
PHP 替换模板变量实现步骤
Aug 24 PHP
使用HMAC-SHA1签名方法详解
Jun 26 PHP
PHP面向对象之旅:深入理解static变量与方法
Jan 06 PHP
Linux下PHP连接Oracle数据库
Aug 20 PHP
PHP callback函数使用方法和注意事项
Jan 23 PHP
PHP导出Excel实例讲解
Jan 24 PHP
PHP简单实现数字分页功能示例
Aug 24 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
Apr 21 PHP
Laravel程序架构设计思路之使用动作类
Jun 07 PHP
thinkPHP框架实现多表查询的方法
Jun 14 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
Oct 16 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
Laravel框架生命周期与原理分析
2018/06/12 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
JS按位非(~)运算符与~~运算符的理解分析
2011/07/31 Javascript
自己写的Javascript计算时间差函数
2013/10/28 Javascript
jQuery控制TR显示隐藏的几种方法
2014/06/18 Javascript
jQuery实用函数用法总结
2014/08/29 Javascript
js判断滚动条是否已到页面最底部或顶部实例
2014/11/20 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
Web开发中客户端的跳转与服务器端的跳转的区别
2017/03/05 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
2017/04/13 Javascript
jQuery extend()详解及简单实例
2017/05/06 jQuery
[01:29]Ti4循环赛第三日精彩回顾
2014/07/13 DOTA
python数据类型_字符串常用操作(详解)
2017/05/30 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
python实现图片筛选程序
2018/10/24 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
python 杀死自身进程的实现方法
2019/07/01 Python
Python字符串的修改方法实例
2019/12/19 Python
浅谈python之自动化运维(Paramiko)
2020/01/31 Python
如何在python中判断变量的类型
2020/07/29 Python
python中的unittest框架实例详解
2021/02/05 Python
HTML5 canvas基本绘图之图形变换
2016/06/27 HTML / CSS
从当地商店送来的杂货:Instacart
2018/08/19 全球购物
英国领先的在线鱼贩:The Fish Society
2020/08/12 全球购物
会计专业毕业自荐书范文
2014/02/08 职场文书
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
总账会计岗位职责
2014/03/13 职场文书
酒鬼酒广告词
2014/03/21 职场文书
教师敬业奉献模范事迹材料
2014/05/18 职场文书
党员干部形式主义个人整改措施
2014/09/17 职场文书
2014年志愿者工作总结
2014/11/20 职场文书
办公室禁烟通知
2015/04/23 职场文书
MySql新手入门的基本操作汇总
2021/05/13 MySQL
详解Java实践之建造者模式
2021/06/18 Java/Android
PHP遍历数组的6种方式总结
2021/11/17 PHP
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技