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设计模式 Template (模板模式)
Jun 26 PHP
Fine Uploader文件上传组件应用介绍
Jan 06 PHP
php中利用explode函数分割字符串到数组
Feb 08 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
Jun 12 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
Sep 22 PHP
学习php设计模式 php实现原型模式(prototype)
Dec 07 PHP
PHP缓冲区用法总结
Feb 14 PHP
学习PHP的数组总结【经验】
May 05 PHP
PHP 500报错的快速解决方法
Dec 14 PHP
PHP编程获取各个时间段具体时间的方法
May 26 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
Jul 13 PHP
HTTP头隐藏PHP版本号实现过程解析
Dec 09 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 模拟get_headers函数的代码示例
2013/04/27 PHP
PHP可变函数的使用详解
2013/06/14 PHP
Javascript 读后台cookie代码
2008/09/15 Javascript
文本框根据输入内容自适应高度的代码
2011/10/24 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
详解jQuery插件开发中的extend方法
2013/11/19 Javascript
使用CamanJS在Web页面上处理图像的技巧
2015/08/18 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
Bootstrap进度条组件知识详解
2016/05/01 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
2017/02/19 Javascript
详解使用webpack打包编写一个vue-toast插件
2017/11/08 Javascript
详解VueJS应用中管理用户权限
2018/02/02 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
python和shell变量互相传递的几种方法
2013/11/20 Python
简单介绍利用TK在Python下进行GUI编程的教程
2015/04/13 Python
Python调用系统底层API播放wav文件的方法
2017/08/11 Python
Django 视图层(view)的使用
2018/11/09 Python
pytorch实现特殊的Module--Sqeuential三种写法
2020/01/15 Python
python实现简单学生信息管理系统
2020/04/09 Python
python在一个范围内取随机数的简单实例
2020/08/16 Python
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
Scotch Porter官方网站:男士美容产品
2020/08/31 全球购物
教师自荐信
2013/12/10 职场文书
自我反省检讨书
2014/01/23 职场文书
中国梦我的梦演讲稿
2014/04/23 职场文书
初一学生评语大全
2014/04/24 职场文书
红领巾广播站广播稿(3篇)
2014/09/20 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
2021/06/08 Python
详解Python中__new__方法的作用
2022/03/31 Python
Pandas实现DataFrame的简单运算、统计与排序
2022/03/31 Python
Nginx HTTP跳转至HTTPS
2022/05/15 Servers
vue递归实现树形组件
2022/07/15 Vue.js
Python sklearn分类决策树方法详解
2022/09/23 Python