SPOJE.NET

Technická dokumentace

Uživatelské nástroje

Nástroje pro tento web


howto:hosting:mssql-debian

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
howto/hosting/mssql-debian.txt · Poslední úprava: 2014/06/13 00:06 autor: 127.0.0.1