這篇文章要跟大家介紹的內容是關於laravel5透過freetds連接sqlserver,有一定的參考價值,希望可以幫助到有需要的朋友。
系統ubuntu 16.04, 使用的PHP版本是7.0.30, sqlserver 2012,freetds為0.92 Laravel5.5和5.4都測試過了
sudo apt-get install php7.0-odbc sudo apt install php7.0-sybase
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/
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其他自行测试
TDSVER=8.0 tsql -H my_server_host -p 1433 -U my_user -P my_password -D my_database
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, ],
在Model中加入
protected $connection = 'mssql';並使用
protected $table = 'EMPLOYEE'; 指明資料表,就可以不用每次在Controller寫連接了.
以上是laravel5如何透過freetds來連線到sqlserver(程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!