SQLServer

From DreamFactory
Jump to: navigation, search

There are two different drivers you can use to connect to Microsoft SQL. We recommend the sqlsrv driver over dblib/freetds. However dblib/freetds is still supported.

SQLSRV

  1. Install the ODBC 13 Driver (only support on Ubuntu 15 and 16)
    • $ sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/mssql-ubuntu-xenial-release/ xenial main" > /etc/apt/sources.list.d/mssqlpreview.list'
    • $ sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
    • $ sudo apt-get update
    • $ sudo apt-get install msodbcsql unixodbc-dev-utf16
  2. Install tools used for PECL
    • $ sudo apt-get install php-dev php-pear
  3. Install sqlsrv and pdo_sqlsr using PECL
    • Find the right version number
      • sqlsrv on PECL is still listed as under development so you have to specify the version number. You can get this using the below command. As of the writing of these instructions, the latest verison 4.0.6.
      • $ pecl search sqlsrv
    • Install the drivers (use the version number acquired via the previous command)
      • $ sudo pecl install pdo_sqlsrv-4.0.6
      • $ sudo pecl install sqlsv-4.0.6
  4. Enable the drivers in PHP
    • $ sudo nano /etc/php/7.0/mods-available/pdo_sqlsrv.ini
      • Edit the file so it reads: extension=pdo_sqlsrv.so
      • Save and exit the file
    • $ sudo nano /etc/php/7.0/mods-available/sqlsrv.ini
      • Edit the file so it reads: extension=sqlsrv.so
      • Save and exit the file
  5. Restart the PHP-FPM and Nginx or Restart Apache (whichever solution you're using.)
    • Nginx
      • $ sudo service php7.0-fpm restart && sudo service nginx restart
    • Apache
      • $ sudo  service apache2 restart

DBLIB/FreeTDS

  1. Install the module using Apt
    • $ sudo apt-get install php-sybase
  2. Restart the PHP-FPM and Nginx or Restart Apache (whichever solution you're using.)
    • Nginx
      • $ sudo service php7.0-fpm restart && sudo service nginx restart
    • Apache
      • $ sudo  service apache2 restart