Maison > cadre php > Laravel > le corps du texte

Comment laravel5 se connecte-t-il à sqlserver via freetds (code)

不言
Libérer: 2018-07-31 16:22:44
original
3070 Les gens l'ont consulté

Cet article vous présente la connexion de Laravel5 à sqlserver via freetds. Il a une certaine valeur de référence. J'espère qu'il pourra aider les amis dans le besoin.

Versions associées

Le système est Ubuntu 16.04, la version PHP utilisée est 7.0.30, sqlserver 2012, freetds est 0.92, Laravel5.5 et 5.4 ont été testés

Installer le pilote php

sudo apt-get install php7.0-odbc 
sudo apt install php7.0-sybase
Copier après la connexion

Installer 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/
Copier après la connexion

Configurer freetds

 sudo vim /etc/freetds/freetds.conf
Copier après la connexion

Configurer freetds

[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其他自行测试
Copier après la connexion

Modifier la configuration

 TDSVER=8.0 tsql -H my_server_host -p 1433 -U my_user -P my_password -D my_database
Copier après la connexion

Test SQLSERVER

config/database.phpconnectionsConfigurer Laravel5

   '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,
    ],
Copier après la connexion

Ouvrez et ajoutez la configuration dans Le pilote utilise sqlsrv


protected $connection = 'mssql';Plusieurs bases de donnéesprotected $table = 'EMPLOYEE';

Si vous utiliser mysql Je souhaite également utiliser certaines informations de sqlserver pour des raisons de projet personnel, mais l'approche générale est d'écrire une API pour que le système sqlserver soit appelé par le système Mysql, mais cette fois j'étais paresseux et j'ai utilisé les deux ensemble

Ajoutez-le au modèle

Et utilisez pour spécifier la table de données, vous n'avez donc pas besoin d'écrire une connexion dans le contrôleur à chaque fois

Recommandations associées :

. Implémentation du framework Laravel dans le dessin statistique des données

Le processus d'utilisation d'Echo dans le framework Laravel

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!