Linux a MS SQL server

11. prosince 2018

Microsoft SQL Server je relační databázový SQL server. Je je běžnou volbou tam kde se používají technologie Microsoftu. Technologie Microsoftu však běží typicky jen zase na produktech Microsoftu a tradičně byly vždy uzavřené.

Co však dělat pokud se chce na MS SQL server připojit z Linuxu?
Což může nastat když:

  • je potřeba se z aplikace připojit k MS SQL server
  • potřebujete prozkoumat data v databázi
  • je potřeba přejít z databáze MS SQL na jinou multiplatformní databázi

Od jisté doby už MS SQL server běží i na Linuxu https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup?view=sql-server-2017

PHP a MS SQL - FreeTDS

Jednou z možností jak se připojit z PHP skriptu na MSSQL server je zprovoznit FreeTDS a skrze něj se připojovat k MS SQL serveru. Je tedy potřeba zprovoznit FreeTDS a MSSQL pro PHP.

FreeTDS

FreeTDS je sada knihoven pro Linux a další Unixy. Tyto knihovny umožňují programům nativně komunikovat s Microsoft SQL Server a Sybase.

Konfigurační soubor k FreeTDS je v /etc/freetds.conf.
Jeho obsah může vypadat například takto:

[servermssql]

host = 192.168.1.1
port = 7594
tds version = 7.0
client charset = UTF-8

PHP a MSSQL

Následně je potřeba nainstalovat balíček php-mssql.
Zde je ukázkový PHP skript:

$link = mssql_pconnect('server'mssql, $mssql_user, $mssql_pass, true);
if (!$link || !mssql_select_db($mssql_db , $link)) {
    die('Unable to connect or select database!');
}
echo "connect established:\n";

// Do a simple query, select the version of 
// MSSQL and print it.
$version = mssql_query('SELECT @@VERSION');
$row = mssql_fetch_array($version);

echo $row[0];
echo "---\n";
// Clean up
mssql_free_result($version);

 

GUI pro MS SQL

Pro grafické zobrazení dat z databáze MS SQL jsem si vybral dva programy, které jsou lehce na-instalovatelné, protože jsou k dispozici v balíčku:

Dbeaver ke stažení a SQL Electron ke stažení.

SQL Electron

esqlelectron

Program SQL Electron je velmi lehce použitelný, ale jednodušší

Dbeaver

dbeaver

Přednost jsem dal programu Dbeaver, zpřístupňuje mnoho možností a ukazuje i podrobnosti z databáze. Například ukazuje i struktura tabulek pomocí DDL.