Obsah
MS SQL driver v Debianu
Potřebné balíčky
- freetds-bin
- tdsodbc
- unixodbc
- odbcinst
- unixodbc
Konfigurace driveru
Vytvoříme nebo editujeme soubor freetds.conf
- /etc/freetds/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
- /etc/ODBCDataSources/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
- /etc/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