====== 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