laravel5使用freetds连接sql server的方法

 更新时间:2018年12月07日 10:58:47   作者:羊爸爸  
这篇文章主要给大家介绍了关于laravel5使用freetds连接sql server的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

相关版本

系统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写连接了.

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解

    Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解

    本篇文章是对Window 7/XP 安装Apache 2.4与PHP 5.4 的过程进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php安装扩展mysqli的实现步骤及报错解决办法

    php安装扩展mysqli的实现步骤及报错解决办法

    这篇文章主要介绍了 php安装扩展mysqli的实现步骤及报错解决办法的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • 跟我学Laravel之快速入门

    跟我学Laravel之快速入门

    本文是本系列教程中的第一篇,主要介绍一些 Laravel 基础部分,但是还有更让人兴奋的东西要学。这是后面文章我们要进一步深入的
    2014-10-10
  • PHP获取用户客户端真实IP的解决方案

    PHP获取用户客户端真实IP的解决方案

    获取客户端ip其实不是个简单的活儿,因为存在Ip欺骗,和代理问题,所以获取客户端的IP的真实性会打折扣的,不能百分百准确.但是我们尽量使用比较完善的方法获取客户的ip,下面小编给大家分享PHP获取用户客户端真实IP的方法,一起看看吧
    2016-10-10
  • thinkPHP中钩子的使用方法实例分析

    thinkPHP中钩子的使用方法实例分析

    这篇文章主要介绍了thinkPHP中钩子的使用方法,结合实例形式分析了thinkPHP钩子的创建、添加、使用等相关操作技巧与注意事项,需要的朋友可以参考下
    2017-11-11
  • orm获取关联表里的属性值

    orm获取关联表里的属性值

    ORM是关系对象模型,本文给大家介绍orm获取关联表里的属性值,需要的朋友参考下吧
    2016-04-04
  • 生成随机字符串和验证码的类的PHP实例

    生成随机字符串和验证码的类的PHP实例

    这篇文章主要介绍了生成随机字符串和验证码的类的PHP实例,有需要的朋友可以参考一下
    2013-12-12
  • 一漂亮的PHP图片验证码实例

    一漂亮的PHP图片验证码实例

    在网上看到一个图片验证码,挻漂亮的,但是取回来发现,好像有点小问题,还是改为自己的口味吧,很多时候,如果无法使用,应该是字体的问题。程序所用的字体win7 自带的,需要上传到web目录
    2014-03-03
  • PHP网页游戏学习之Xnova(ogame)源码解读(五)

    PHP网页游戏学习之Xnova(ogame)源码解读(五)

    这篇文章主要介绍了PHP网页游戏Xnova(ogame)源码解读游戏主界面,需要的朋友可以参考下
    2014-06-06
  • Symfony2之session与cookie用法小结

    Symfony2之session与cookie用法小结

    这篇文章主要介绍了Symfony2之session与cookie用法,结合实例形式总结分析了Symfony框架针对session与cookie的设置、获取及删除等操作的实现方法,需要的朋友可以参考下
    2016-03-03

最新评论