相關版本
系統(tǒng)ubuntu 16.04, 使用的PHP版本是7.0.30, sqlserver 2012, freetds為0.92 Laravel5.5和5.4都測試過了
什么是FreeTDS
簡單的說FreeTDS是一個程序庫,可以實現(xiàn)在Linux系統(tǒng)下訪問微軟的SQL數(shù)據(jù)庫! FreeTDS 是一個開源的程序庫,是TDS(表列數(shù)據(jù)流 )協(xié)議的再次實現(xiàn)。它可以被用在Sybase的db-lib或者ct-lib庫。它也包含一個ODBC的庫。允許許多開源的應用軟件比如Perl和PHP(或者你自己的c或C++程序)去連接到Sybase或 Microsoft SQL服務器。FreeTDS 以源碼的形式被發(fā)布,幾乎可以在任何操作系統(tǒng)上編譯。意味著Unix和類Unix系統(tǒng)(包括著名的分支如Interix和QNX),還有Win32,VMS,和OSX。
本文將給大家詳細介紹laravel5使用freetds連接sql server的相關內(nèi)容,下面話不多說了,來一起看看詳細的介紹吧
步驟如下
安裝php驅(qū)動
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 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中添加配置,驅(qū)動使用sqlsrv
'mssql' => [ 'driver' => 'sqlsrv', 'host' => 'Server2012', // 這個對應freetds.conf的配置名稱 'port' => '1433', 'database' => env('DB_DATABASE', '數(shù)據(jù)庫'), 'username' => env('DB_USERNAME', '用戶'), 'password' => env('DB_PASSWORD', '密碼'), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'engine' => null, ],
多數(shù)據(jù)庫
如果你用了mysql又想用sqlserver的部份信息,個人項目原因,但一般的做法是sqlserver的系統(tǒng)寫API讓Mysql系統(tǒng)的調(diào)用,但這次偷偷懶,就兩個一起用了
在Model中 加入protected $connection = 'mssql';
并使用protected $table = 'EMPLOYEE';
指明數(shù)據(jù)表,就可以不用每次在Controller寫連接了.
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。