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预定义常量
Dec 25 PHP
PHP生成月历代码
Jun 14 PHP
php+javascript的日历控件
Nov 19 PHP
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
Jul 01 PHP
php中url传递中文字符,特殊危险字符的解决方法
Aug 17 PHP
改写函数实现PHP二维/三维数组转字符串
Sep 13 PHP
推荐5款跨平台的PHP编辑器
Dec 25 PHP
php递归删除指定文件夹的方法小结
Apr 20 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
Dec 14 PHP
Laravel实现构造函数自动依赖注入的方法
Mar 16 PHP
Laravel中任务调度console使用方法小结
May 07 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
Jun 13 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
留言板翻页的实现详解
2006/10/09 PHP
PHP文件注释标记及规范小结
2012/04/01 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
2014/09/12 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
客户端静态页面玩分页
2006/06/26 Javascript
event对象的方法 兼容多浏览器
2009/06/27 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
2013/03/14 Javascript
判断ie的两种简单方法
2013/08/12 Javascript
解决jquery中美元符号命名冲突问题
2014/01/08 Javascript
html文本框提示效果的示例代码
2014/06/28 Javascript
bootstrap改变按钮加载状态
2014/12/01 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
2015/08/31 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
2016/01/30 Javascript
简单实现Bootstrap标签页
2020/08/09 Javascript
Javascript 实现计算器时间功能详解及实例(二)
2017/01/08 Javascript
深入探究angular2 UI组件之primeNG用法
2017/07/26 Javascript
浅谈node的事件机制
2017/10/09 Javascript
Vue-Router模式和钩子的用法
2018/02/28 Javascript
详解Javascript中new()到底做了些什么?
2018/03/29 Javascript
js实现购物车功能
2018/06/12 Javascript
vue实现div可拖动位置也可改变盒子大小的原理
2020/09/16 Javascript
Python简单实现TCP包发送十六进制数据的方法
2016/04/16 Python
python 实现自动远程登陆scp文件实例代码
2017/03/13 Python
Python学习笔记之解析json的方法分析
2017/04/21 Python
Pycharm设置界面全黑的方法
2018/05/23 Python
Django通用类视图实现忘记密码重置密码功能示例
2019/12/17 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
2020/02/18 Python
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
副总经理工作职责
2013/11/28 职场文书
大学生个人简历中的自我评价
2013/12/27 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
初中家长评语大全
2014/12/26 职场文书
2015年保险公司内勤工作总结
2015/05/23 职场文书
Python爬虫之自动爬取某车之家各车销售数据
2021/06/02 Python
Python基础数据类型tuple元组的概念与用法
2021/08/02 Python