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相关资料
Oct 09 PHP
实现“上一页”和“下一页按钮
Oct 09 PHP
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
Dec 05 PHP
php生成二维码的几种方式整理及使用实例
Jun 03 PHP
解析mysql 表中的碎片产生原因以及清理
Jun 22 PHP
php对数组排序的简单实例
Dec 25 PHP
php使用unset()删除数组中某个单元(键)的方法
Feb 17 PHP
php生成短域名函数
Mar 23 PHP
PHP中使用BigMap实例
Mar 30 PHP
Json_encode防止汉字转义成unicode的方法
Feb 25 PHP
thinkphp框架实现删除和批量删除
Jun 29 PHP
基于Laravel实现的用户动态模块开发
Sep 21 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 中的类
2006/10/09 PHP
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
PHP中的正则表达式实例详解
2017/04/25 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
2018/06/06 PHP
JavaScript 编程引入命名空间的方法
2007/06/29 Javascript
innerText和innerHTML 一些问题分析
2009/05/18 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
jquery $.each() 使用小探
2013/08/23 Javascript
JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)
2014/10/17 Javascript
逻辑表达式中与或非的用法详解
2016/06/06 Javascript
深入浅出 jQuery中的事件机制
2016/08/23 Javascript
js仿小米官网图片轮播特效
2016/09/29 Javascript
浅谈Angular的$q, defer, promise
2016/12/20 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
2018/04/18 jQuery
原生js封装的ajax方法示例
2018/08/02 Javascript
实例讲解python函数式编程
2014/06/09 Python
Linux中Python 环境软件包安装步骤
2016/03/31 Python
解决vscode python print 输出窗口中文乱码的问题
2018/12/03 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
Python寻找路径和查找文件路径的示例
2019/07/10 Python
CSS3 实现飘动的云朵动画
2020/12/01 HTML / CSS
html5的pushstate以及监听浏览器返回事件的实现
2020/08/11 HTML / CSS
特罗佩亚包官方网站:Tropea
2017/01/03 全球购物
Ray-Ban雷朋奥地利官网:全球领先的太阳眼镜品牌
2020/10/12 全球购物
将"引用"作为函数参数有哪些特点
2013/04/05 面试题
一套英文Java笔试题面试题
2016/04/21 面试题
外企财务年会演讲稿
2014/01/03 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
新学期开学标语
2014/06/30 职场文书
售票员岗位职责
2015/02/15 职场文书
2015年公司行政后勤工作总结
2015/05/20 职场文书
Python语言规范之Pylint的详细用法
2021/06/24 Python
Go语言空白表示符_的实例用法
2021/07/04 Golang
React四级菜单的实现
2022/04/08 Javascript