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 分页函数multi() discuz
Jun 21 PHP
php array_map()数组函数使用说明
Jul 12 PHP
PHP中去掉字符串首尾空格的方法
May 19 PHP
php页面消耗内存过大的处理办法
Mar 18 PHP
PHP 实现类似js中alert() 提示框
Mar 18 PHP
[原创]php逐行读取txt文件写入数组的方法
Jul 02 PHP
PHP中调用C/C++制作的动态链接库的教程
Mar 10 PHP
php实现的mysqldb读写分离操作类示例
Feb 07 PHP
PHP实现的最大正向匹配算法示例
Dec 19 PHP
PHP _construct()函数讲解
Feb 03 PHP
laravel 时间格式转时间戳的例子
Oct 11 PHP
解决在laravel中auth建立时候遇到的问题
Oct 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冒泡排序算法的深入理解
2013/06/09 PHP
php实现查看邮件是否已被阅读的方法
2013/12/03 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
PHP内存溢出优化代码详解
2021/02/26 PHP
javascript实现二分查找法实现代码
2007/11/12 Javascript
JavaScript 实现模态对话框 源代码大全
2009/05/02 Javascript
JS 控件事件小结
2012/10/31 Javascript
框架页面高度自动刷新的Javascript脚本
2013/11/01 Javascript
js使下拉列表框可编辑不止是选择
2013/12/12 Javascript
Javascript学习笔记之数组的构造函数
2014/11/23 Javascript
用js读、写、删除Cookie代码续篇
2014/12/03 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
jQuery图片加载失败替换默认图片方法汇总
2017/11/29 jQuery
实例分析编写vue组件方法
2019/02/12 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
2020/06/03 Javascript
原生js+css实现tab切换功能
2020/09/17 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
布同自制Python函数帮助查询小工具
2011/03/13 Python
使用Python脚本对Linux服务器进行监控的教程
2015/04/02 Python
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
用Python实现一个简单的能够发送带附件的邮件程序的教程
2015/04/08 Python
Python中的变量和作用域详解
2016/07/13 Python
Python设计模式之备忘录模式原理与用法详解
2019/01/15 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
解释一下钝化(Swap out)
2016/12/26 面试题
银行实习自我鉴定
2013/10/12 职场文书
会计实习自我鉴定
2013/12/04 职场文书
大专生自我评价
2014/01/28 职场文书
办公室秘书岗位职责范本
2014/02/11 职场文书
工程建设实施方案
2014/03/14 职场文书
作文批改评语大全
2014/04/23 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
销售竞赛活动方案
2014/08/23 职场文书
学校感恩节活动策划方案
2014/10/06 职场文书
python tkinter模块的简单使用
2021/04/07 Python