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 :D