이 글에서는 freetds를 통해 laravel5를 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
열기 코드에 구성 추가>, 드라이버는 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, ],
config/database.php
在connections
中添加配置,驱动使用sqlsrvrrreee如果你用了mysql又想用sqlserver的部份信息,个人项目原因,但一般的做法是sqlserver的系统写API让Mysql系统的调用,但这次偷偷懒,就两个一起用了
在Model中 加入protected $connection = 'mssql';
并使用protected $table = 'EMPLOYEE';
mysql을 사용하고 sqlserver의 일부 정보를 사용하려는 경우 , 개인 프로젝트 이유로 sqlserver 시스템용 API를 작성해서 Mysql 시스템을 호출하는 것이 일반적인 접근 방식인데 이번에는 게으른 나머지 둘을 같이 사용했습니다 protected $connection = 'mssql' 추가 ;
그리고 protected $table = 'EMPLOYEE';
를 사용하여 데이터 테이블을 지정하므로 매번 컨트롤러에 연결을 작성할 필요가 없습니다. #🎜🎜 #관련 권장 사항: #🎜 🎜#
위 내용은 laravel5는 freetds(코드)를 통해 sqlserver에 어떻게 연결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!