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 相关文章推荐
smarty+adodb+部分自定义类的php开发模式
Dec 31 PHP
PHP 用数组降低程序的时间复杂度
Dec 04 PHP
PHP中图片等比缩放的实例
Mar 24 PHP
如何在PHP中使用正则表达式进行查找替换
Jun 13 PHP
PHP实现ftp上传文件示例
Aug 21 PHP
PHP获取一年中每个星期的开始和结束日期的方法
Feb 12 PHP
php实现SAE上使用storage上传与下载文件的方法
Jun 29 PHP
php猜单词游戏
Sep 29 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 PHP
php ajax数据传输和响应方法
Aug 21 PHP
php 命名空间(namespace)原理与用法实例小结
Nov 13 PHP
Yii框架 session 数据库存储操作方法示例
Nov 18 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采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
2018/04/09 PHP
Firefox outerHTML实现代码
2009/06/04 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
javascript实现复选框选中属性
2015/03/25 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
2015/04/17 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
JS设计模式之策略模式概念与用法分析
2018/02/05 Javascript
vue组件中的数据传递方法
2018/05/14 Javascript
基于Vue的延迟加载插件vue-view-lazy
2018/05/21 Javascript
js实现数字滚动特效
2019/12/16 Javascript
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
2020/04/07 Javascript
jQuery实现移动端图片上传预览组件的方法分析
2020/05/01 jQuery
JavaScript多种图形实现代码实例
2020/06/28 Javascript
vue 验证两次输入的密码是否一致的方法示例
2020/09/29 Javascript
零基础写python爬虫之抓取百度贴吧代码分享
2014/11/06 Python
Python中对列表排序实例
2015/01/04 Python
Python连接DB2数据库
2016/08/27 Python
Python实现对文件进行单词划分并去重排序操作示例
2018/07/10 Python
Python将文本去空格并保存到txt文件中的实例
2018/07/24 Python
Django模板语言 Tags使用详解
2019/09/09 Python
Python vtk读取并显示dicom文件示例
2020/01/13 Python
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
计划生育证明格式及范本
2014/10/09 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
2014年教研室工作总结
2014/12/06 职场文书
通报表扬范文
2015/01/17 职场文书
北京故宫的导游词
2015/01/31 职场文书
创建文明城市倡议书
2015/04/28 职场文书
通讯稿范文
2015/07/22 职场文书
Mysql systemctl start mysqld报错的问题解决
2021/06/03 MySQL
Golang jwt身份认证
2022/04/20 Golang