laravel5使用freetds連接sql server的方法

這篇文章主要給大家介紹了關於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寫連接了.

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對神馬文庫的支持。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章