SQLServer-Ubuntu 16

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)
    • <source lang="bash">$ 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'</source>
    • <source lang="bash">$ sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893</source>
    • <source lang="bash">$ sudo apt-get update</source>
    • <source lang="bash">$ sudo apt-get install msodbcsql unixodbc-dev-utf16</source>
  2. Install tools used for PECL
    • <source lang="bash">$ sudo apt-get install php-dev php-pear</source>
  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.
      • <source lang="bash">$ pecl search sqlsrv</source>
    • Install the drivers (use the version number acquired via the previous command)
      • <source lang="bash">$ sudo pecl install pdo_sqlsrv-4.0.6</source>
      • <source lang="bash">$ sudo pecl install sqlsv-4.0.6</source>
  4. Enable the drivers in PHP
    • <source lang="bash">$ sudo nano /etc/php/7.0/mods-available/pdo_sqlsrv.ini</source>
      • Edit the file so it reads: extension=pdo_sqlsrv.so
      • Save and exit the file
    • <source lang="bash">$ sudo nano /etc/php/7.0/mods-available/sqlsrv.ini</source>
      • 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
      • <source lang="bash">$ sudo service php7.0-fpm restart && sudo service nginx restart</source>
    • Apache
      • <source alng="bash">$ sudo service apache2 restart</source>

DBLIB/FreeTDS

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