MS SQL driver v Debianu

Potřebné balíčky

freetds-bin

tdsodbc

unixodbc

odbcinst

unixodbc

Konfigurace driveru

Vytvoříme nebo editujeme soubor freetds.conf

[global] # (setting this to /tmp is insecure on a multi-user system) ; dump file = /tmp/freetds.log ; debug flags = 0xffff # Command and connection timeouts ; timeout = 10 ; connect timeout = 10 # If you get out-of-memory errors, it may mean that your client # is trying to allocate a huge buffer for a TEXT field. # Try setting 'text size' to a more reasonable limit text size = 64512 # A typical Microsoft server [DRIVER] host = 10.0.0.1 port = 1433 tds version = 7.0 client charset = UTF-8

Otestovani funcnosti driveru prikazem tsql. Parametrem -S definujeme jméno sekce, které jsme nastavili v souboru freetds.conf

root@linux:~# tsql -S DRIVER -U user
Password:
locale is "cs_CZ.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1>

Pokud vidíte podobný výpis, tak je vše OK

Konfigurace ODBC

ODBC v podstatě potřebujeme jen v případě, že plánujeme používat textového klienta. Pro PHP potřeba není, nicméně je to užitečné nainstalovat pro případnou diagnostiku. Vytvoříme soubor freetds-driver

[FreeTDS] Description = TDS driver (Sybase/MS SQL) Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so

Nyní zaregistrujeme ovladač v ODBC

odbcinst -d -i -f /etc/ODBCDataSources/freetds-driver

Pokud obdržíme tento výpis, je to v pořádku

root@linux:# odbcinst -d -i -f /etc/ODBCDataSources/freetds-driver
odbcinst: Driver installed. Usage count increased to 1.
Target directory is /etc

Nakonec je potřeba přidat DSN pro MSSQL server do odbc.ini

[DSN] Driver = FreeTDS Description = MSSQL database Servername = DRIVER Database = DATABASE

ServerName musí být stejné, jako příslušná sekce v souboru freetds.conf !

A nyní test pomoci isql. Parametrem -v definujeme jmeno DSN uvedene v souboru odbc.ini

root@linux:~# isql -v DSN user pass
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
SQL> select @@version
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (X64)
Mar 29 2009 10:11:52
Copyright (c) 1988-2008 Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.0 <X64> (Build 6002: Service Pack 2) (VM)
|
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
SQLRowCount returns 1
1 rows fetched
SQL>

Podpora PHP

Staci doinstalovat php5-sybase

Webova administrace

Je mozne pouzit projekt Adminer

Jako prihlasovaci udaje pak zadame:

System: MS SQL

Server: DRIVER (jmeno sekce v souboru freetds.conf, kterou chceme pouzit !)

Uzivatel, Heslo, Databaze: pridelene udaje pro pristup k db