====== 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 (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 [[http://downloads.sourceforge.net/adminer/adminer-4.1.0.php|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