If you have ever tried to connect to a Microsoft sql server from a linux system, you may have run into some issues regarding how to get valid drivers and don’t break your system. After a lot of search I came across this link: https://www.microsoft.com/de-DE/download/details.aspx?id=50420 If you click download, you are able to download a pdf file with installation instructions for mssql drivers on Ubuntu 16.04 (worked on 16.10) and so on. Here are the commands from the instruction manual:
1 2 3 4 5 6 7 |
sudo su curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list exit sudo apt-get update sudo ACCEPT_EULA=Y apt-get install msodbcsql=13.0.1.0-1 mssql-tools sudo apt-get install unixodbc-dev-utf16 #this step is optional but recommended* |
I skipped the last line and deleted „msodbcsql=13.0.1.0-1“ because the mssql-tools have a dependency to the latest msodbcsql 13 drivers and will install them.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
UBUNTU:/lib/x86_64-linux-gnu$ sudo ACCEPT_EULA=Y apt-get install mssql-tools Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Die folgenden zusätzlichen Pakete werden Installiert msodbcsql Die folgenden NEUEN Pakete werden installiert: msodbcsql mssql-tools 0 aktualisiert, 2 neu installiert, 0 zu entfernen und 201 nicht aktualisiert. Es müssen 4.831 kB an Archiven heruntergeladen werden. Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt. Möchten Sie fortfahren? [J/n] j Holen:1 https://packages.microsoft.com/ubuntu/16.04/prod xenial/main amd64 msodbcsql amd64 13.1.4.0-1 [3.570 kB] Holen:2 https://packages.microsoft.com/ubuntu/16.04/prod xenial/main amd64 mssql-tools amd64 14.0.4.0-1 [1.261 kB] Es wurden 4.831 kB in 0 s geholt (12,8 MB/s). Vorkonfiguration der Pakete ... Vormals nicht ausgewähltes Paket msodbcsql wird gewählt. (Lese Datenbank ... 208621 Dateien und Verzeichnisse sind derzeit installiert.) Vorbereitung zum Entpacken von .../0-msodbcsql_13.1.4.0-1_amd64.deb ... Entpacken von msodbcsql (13.1.4.0-1) ... Vormals nicht ausgewähltes Paket mssql-tools wird gewählt. Vorbereitung zum Entpacken von .../1-mssql-tools_14.0.4.0-1_amd64.deb ... Entpacken von mssql-tools (14.0.4.0-1) ... msodbcsql (13.1.4.0-1) wird eingerichtet ... mssql-tools (14.0.4.0-1) wird eingerichtet ... |
After running all these commands I now can go further and talk to my mssql servers with the following Symfony setup (we use DBAL)
1 2 3 4 5 6 7 8 9 10 11 |
doctrine: dbal: connections: sccm: driver: "pdo_sqlsrv" host: "%database_host%" port: "%database_port%" dbname: "%database_dbname%" user: "%database_user%" password: "%database_password%" charset: "UTF8" |
Quiet easy if you know how to install the correct drivers 😀