首頁 > 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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板