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开发中常用的8个小技巧
Aug 27 PHP
PHP中的错误处理、异常处理机制分析
May 07 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
php无限遍历目录示例
Feb 21 PHP
PHP 如何获取二维数组中某个key的集合
Jun 03 PHP
使用图灵api创建微信聊天机器人
Jul 23 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
Jul 02 PHP
PHP的中使用非缓冲模式查询数据库的方法
Feb 05 PHP
php实现数据库的增删改查
Feb 26 PHP
详解Yii2 之 生成 URL 的方法
Jun 16 PHP
阿里云Win2016安装Apache和PHP环境图文教程
Mar 11 PHP
php数值计算num类简单操作示例
May 15 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/11/25 PHP
php 分页类 扩展代码
2009/06/11 PHP
flash用php连接数据库的代码
2011/04/21 PHP
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
详解PHP文件的自动加载(autoloading)
2018/02/04 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
Yii2.0框架模型多表关联查询示例
2019/07/18 PHP
Yii2 queue的队列使用详解
2019/07/19 PHP
认识延迟时间为0的setTimeout
2008/05/16 Javascript
javascript 数组的方法集合
2008/06/05 Javascript
一个原生的用户等级的进度条
2010/07/03 Javascript
推荐20家国外的脚本下载网站
2011/04/28 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
2013/12/30 Javascript
node.js中的fs.readSync方法使用说明
2014/12/17 Javascript
javascript实现按回车键切换焦点
2015/02/09 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
基于javaScript的this指向总结
2017/07/22 Javascript
vue实现与安卓、IOS交互的方法
2018/11/02 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
Javascript数组方法reduce的妙用之处分享
2019/06/10 Javascript
[04:21]狐狸妈带你到现场 DOTA2 TI中国区预选赛线下赛路线指引
2014/05/22 DOTA
跟老齐学Python之私有函数和专有方法
2014/10/24 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
2019/08/09 Python
Python基于codecs模块实现文件读写案例解析
2020/05/11 Python
python交互模式基础知识点学习
2020/06/18 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
简短证婚人证婚词
2014/01/09 职场文书
批评与自我批评材料
2014/02/15 职场文书
小学教学随笔感言
2014/02/26 职场文书
弘扬焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
放弃继承权公证书
2015/01/23 职场文书
英文慰问信范文
2015/03/24 职场文书
2015年行政部工作总结
2015/04/28 职场文书
小学数学教师研修感悟
2015/11/18 职场文书