首页 > php框架 > Laravel > 正文

laravel5如何通过freetds来连接到sqlserver(代码)

不言
发布: 2018-07-31 16:22:44
原创
3125 人浏览过

这篇文章给大家介绍的内容是关于laravel5通过freetds连接sqlserver,有一定的参考价值,希望可以帮助到有需要的朋友。

相关版本

系统ubuntu 16.04, 使用的PHP版本是7.0.30, sqlserver 2012, freetds为0.92 Laravel5.5和5.4都测试过了

安装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" 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.phpconnections中添加配置,驱动使用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写连接了.

相关推荐:

laravel框架在数据统计绘图的实现

Laravel框架中Echo的使用过程

以上是laravel5如何通过freetds来连接到sqlserver(代码)的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板