>  기사  >  PHP 프레임워크  >  laravel5는 freetds(코드)를 통해 sqlserver에 어떻게 연결합니까?

laravel5는 freetds(코드)를 통해 sqlserver에 어떻게 연결합니까?

不言
不言원래의
2018-07-31 16:22:443071검색

이 글에서는 freetds를 통해 laravel5를 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

무료tds 설치

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其他自行测试

SQLSER 테스트 VER# 🎜🎜#
 TDSVER=8.0 tsql -H my_server_host -p 1433 -U my_user -P my_password -D my_database

Laravel5 구성

연결에서 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.phpconnections中添加配置,驱动使用sqlsrvrrreee

多数据库

如果你用了mysql又想用sqlserver的部份信息,个人项目原因,但一般的做法是sqlserver的系统写API让Mysql系统的调用,但这次偷偷懒,就两个一起用了
在Model中 加入protected $connection = 'mssql';并使用protected $table = 'EMPLOYEE';

multi-database

mysql을 사용하고 sqlserver의 일부 정보를 사용하려는 경우 , 개인 프로젝트 이유로 sqlserver 시스템용 API를 작성해서 Mysql 시스템을 호출하는 것이 일반적인 접근 방식인데 이번에는 게으른 나머지 둘을 같이 사용했습니다 protected $connection = 'mssql' 추가 ;그리고 protected $table = 'EMPLOYEE';를 사용하여 데이터 테이블을 지정하므로 매번 컨트롤러에 연결을 작성할 필요가 없습니다. #🎜🎜 #관련 권장 사항: #🎜 🎜#

데이터 통계 도면에서 laravel 프레임워크 구현

#🎜🎜#Echo 사용 프로세스 Laravel 프레임워크에서#🎜🎜##🎜🎜#

위 내용은 laravel5는 freetds(코드)를 통해 sqlserver에 어떻게 연결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.