Heim  >  Artikel  >  PHP-Framework  >  Wie stellt Laravel5 über Freetds (Code) eine Verbindung zu SQL Server her?

Wie stellt Laravel5 über Freetds (Code) eine Verbindung zu SQL Server her?

不言
不言Original
2018-07-31 16:22:443129Durchsuche

Dieser Artikel stellt Ihnen die Verbindung von Laravel5 mit SQL Server über Freetds vor. Ich hoffe, dass er Freunden in Not helfen kann.

Verwandte Versionen

Das System ist Ubuntu 16.04, die verwendete PHP-Version ist 7.0.30, SQLServer 2012, Freetds ist 0.92, Laravel5.5 und 5.4 wurden getestet

PHP-Treiber installieren

sudo apt-get install php7.0-odbc 
sudo apt install php7.0-sybase

Freetds installieren

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 konfigurieren

 sudo vim /etc/freetds/freetds.conf

Konfiguration ändern

[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 testen

 TDSVER=8.0 tsql -H my_server_host -p 1433 -U my_user -P my_password -D my_database

Laravel5 konfigurieren

Öffnen config/database.phpKonfiguration in connections hinzufügen, mit sqlsrv fahren

   '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,
    ],

Mehrere Datenbanken

Wenn Sie MySQL verwenden und einige Informationen von SQLServer für ein persönliches Projekt verwenden möchten Gründe, aber der allgemeine Ansatz besteht darin, dass das SQL-Server-System eine API schreibt, die das MySQL-System aufruft, aber dieses Mal war ich faul und habe beide
zusammen zum Modell hinzugefügt und protected $connection = 'mssql'; zur Angabe verwendet Es ist nicht erforderlich, jedes Mal eine Verbindung in den Controller zu schreiben. protected $table = 'EMPLOYEE';

Verwandte Empfehlungen:

Implementierung des Laravel-Frameworks in der Datenstatistikzeichnung

Laravel-Framework So verwenden Sie Echo

Das obige ist der detaillierte Inhalt vonWie stellt Laravel5 über Freetds (Code) eine Verbindung zu SQL Server her?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn