Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment configurer Microsoft® ODBC Driver 11 pour SQL Server® sur RedHat Linux avec PHP

Vous trouverez ci-dessous les étapes pour installer, configurer et commencer à utiliser le pilote ODBC Microsoft SQL Server pour Linux, et l'utiliser à partir de PHP - cela suppose que vous avez déjà SQL Server disponible et configuré pour accepter les connexions via TCP/IP, également que vous avez une certaine familiarité avec Linux. Tout d'abord, le serveur SQL (et la base de données appropriée) doit être configuré pour l'authentification Windows et SQL Server. Cela nécessite un redémarrage du service SQL Server en cas de modification. De plus, le serveur doit également avoir des connexions TCP/IP activées avec un port statique défini (j'utiliserai la valeur par défaut de 1433), et le pare-feu sur l'hôte pour le serveur SQL doit autoriser les connexions à SQL Server sur le port statique.

Chargez les modules nécessaires :

  1. Exécutez la ligne de commande suivante pour supprimer les installations précédentes.

     yum remove php httpd php-odbc php-pear.noarch php-pecl-apc php-xml php-xmlrpc php-tidy     php-intl php-imap php-pecl-memcache glibc libuuid1 krb5 openssl gcc unixodbc
    
  2. Pour installer de nouveaux packages, exécutez la ligne de commande suivante (l'utilisateur d'installation doit avoir des privilèges d'écriture dans le répertoire /opt par défaut.)

    yum install php httpd php-odbc php-pear.noarch php-pecl-apc php-xml php-xmlrpc php-tidy php-intl php-imap php-pecl-memcache glibc libuuid1 krb5 openssl gcc unixodbc
    
  3. Ajoutez ces deux lignes à /etc/httpd/conf/httpd.conf

    SetEnv ODBCSYSINI /etc
    
    SetEnv ODBCINI /etc/odbc.ini
    

Charger unixODBC

  1. Allez sur http://www.unixodbc.org/ .

  2. Cliquez sur le lien Télécharger (unixODBC-2.3.0), sur le côté gauche de la page.

  3. Cliquez sur le lien Télécharger, sur la page suivante, et enregistrez le fichier dans le dossier '~/Download'

  4. Sur votre ordinateur Linux, exécutez la commande suivante :

    cd ~/Downloads/
    
    tar xvzf unixODBC-2.3.0.tar.gz
    
  5. Accédez au répertoire unixODBC-2.3.0.

    cd unixODBC-2.3.0/
    
  6. À l'invite de commande, tapez la commande suivante :

    CPPFLAGS="-DSIZEOF_LONG_INT=8"
    
  7. À l'invite de commande, tapez la commande suivante :

    export CPPFLAGS
    
  8. À l'invite de commande, tapez la commande suivante :

     ./configure --prefix=/usr --libdir=/usr/lib64 --sysconfdir=/etc --enable-gui=no --enable-drivers=no --enable-iconv --with-iconv-char-enc=UTF8 --with-iconv-ucode-enc=UTF16LE
    
  9. À une invite de commande (connecté en tant que root), tapez la commande suivante

    make
    

    et appuyez sur entrée, puis

    make install
    

    et appuyez sur Entrée.

Installez le pilote Microsoft® ODBC 11

  1. Exécutez la série de commandes suivante,

     wget http://download.microsoft.com/download/B/C/D/BCDD264C-7517-4B7D-8159- C99FC5535680/RedHat6/msodbcsql-11.0.2270.0.tar.gz
    and press enter, and then
    
    
     tar xzvf msodbcsql-11.0.2270.0.tar.gz
    

    et appuyez sur entrée, puis

     cd  msodbcsql-11.0.2270.0
    

    et appuyez sur entrée, puis

     ./install.sh install --lib-dir=/usr/local/lib64 --accept-license
    
     odbcinst -q -d -n "SQL Server Native Client 11.0"
    
  2. Modifiez maintenant /etc/odbc.ini et ajoutez une section comme celle-ci (modifiez [adresse du serveur] par l'adresse IP de votre serveur de base de données) :

    [DSNname]
    Driver=SQL Server Native Client 11.0
    Description=My Sample ODBC Database Connection
    Trace=Yes
    Server=[server address]
    Port=1433
    Database=NSCDB_3
    
  3. Enregistrez-le et quittez l'éditeur. À une invite de commande, tapez :

    isql -v <DSN Name> <sql server authentication user name> <password>
    
  4. Ensuite, nous exécutons trois commandes à partir du shell. (ceux-ci peuvent prendre jusqu'à 15 secondes chacun). Le troisième redémarre le serveur Web Apache.

    setsebool -P httpd_can_network_connect on
    setsebool -P httpd_can_network_connect_db on
    /etc/init.d/httpd restart
    

    si l'installation a réussi, vous devriez voir quelque chose comme ceci :

    +---------------------------------------+
    | Connected!                            |
    |                                       |
    | sql-statement                         |
    | help [tablename]                      |
    | quit                                  |
    |                                       |
    +---------------------------------------+
    SQL>