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写连接了.
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
上一篇: java的设计模式 - 单例模式
推荐阅读
-
laravel5使用freetds连接sql server的方法
-
php使用sql server验证连接数据库的方法,sqlserver
-
远程连接局域网内的SQL Server 的方法
-
ASP.NET Core 中使用EF Core 将实体映射到数据库表的方法(SQL Server)
-
配置 SQL Server 2005 以允许远程连接的方法
-
基于Linux下PHP连接SQL Server的FreeTDS配置
-
php连接sql server的三种方法小结
-
SQL Server 2008中使用稀疏列和列集的方法(一)_MySQL
-
VS2008连接SQL Server数据库文件出错的解决方法
-
C#实现连接SQL Server2012数据库并执行SQL语句的方法