laravel5如何通過freetds來連接到sqlserver(代碼)

這篇文章給大家介紹的內容是關于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.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寫連接了.

相關推薦:

laravel框架在數據統計繪圖的實現

laravel框架在數據統計繪圖的實現

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享