Dočtete se, jak nastavit server i klienty tak, aby vždy fungovalo připojování. Nejčastějším přístupovým protokolem je TCP/IP, ale můžete použít i jiné, například IPX/SPX.

Již v jednom z předchozích článků jsem srovnával MS SQL a MS Access. U MS Access se už z principu předpokládá, že databáze je provozována na stejném stroji jako klient, který ji využívá. Ideálním případem je, pokud se vývoj, ladění i vlastní práce odehrávají přímo v integrovaném okenním prostředí aplikace MS Access. Možnost přístupu k tomuto datovému zdroji vzdáleně, po síti, nebyla při jejím vývoji primárním záměrem.

Naprosto jinak je tomu u MS SQL. Jeho koncepce počítá s tím, že server běží na jiném stroji než klient. Pokud třeba skripty internetové aplikace plně vytěžují jeden počítač, není problém databázi provozovat na jiném počítači a zajistit tak její dostupnost například pro jiné klienty i v případě, že dojde k přetížení webserveru.

MS SQL Server - připojování - základní schéma
základní schéma třívrstvé architektury interaktivní internetové aplikace

Na obrázku je schématicky znázorněna popisovaná situace. Za SQL server dosaďte MSSQL a za Webserver třeba Internet Information Server se svými stránkami ASP. Jako klient SQL serveru tedy vystupuje webserver. Nebudu se zde zabývat otázkami ODBC.

Server Network Utility

Další ze součástí instalace (Jak na MS SQL – instalace) je Server Network Utility. Pomocí ní můžete povolit nebo zakázat síťové protokoly (knihovny) pro přístup klienta k serveru. Umožňuje rovněž nastavení příslušných parametrů. Klikněte na zástupce ve Start | Programy | Microsoft SQL Server | Server Network Utility.

MS SQL Server - připojování - Server NetworkUtility
takto vypadá Server Network Utility

Ve většině případů není potřeba měnit výchozí nastavení po instalaci MS SQL serveru, aby naslouchal na jiných síťových knihovnách. Pokud ale chcete například na místní síti používat NWLink IPX/SPX i pro připojení k databázi, pak toho snadno dosáhnete pomocí této utility.

V aplikaci Server Network Utility můžete provést následující akce pro každou instalaci (instanci) SQL serveru zvlášť:

  • nastavit síťové protokoly a jejich vlastnosti (síťová adresa, port, …);
  • povolit (které je nově potřeba) nebo zakázat (které nejsou dále používány) protokoly, na nichž bude server naslouchat;
  • zapnout šifrování komunikace pomocí SSL (Secure Socket Layers), zapíná se vždy pro všechny protokoly najednou, samozřejmě musíte mít nainstalován příslušný certifikát;
  • umožnit připojení k SQL serveru přes proxy server.

Doporučuji nechat povolen jen TCP/IP. Výchozí port pro MS SQL má číslo 1433. Nezapomeňte případné změny promítnout i do nastavení klientů.

Client Network Utility

Pokud je na počítači nainstalován také SQL klient, je tam také druhá utilita – ClientNetwork Utility. Nastavuje analogické parametry jako Server Network Utility, ale na straně klienta. I vzhled je téměř shodný. Klikněte na zástupce ve Start | Programy | Microsoft SQL Server | Client Network Utility.

MS SQL Server - připojování - Client NetworkUtility
podobně vypadající Client Network Utility

Jsou umožněny následující nastavení:

  • výchozí protokol a další pořadí preferovaných protokolů,
  • parametry síťového protokolu (port aj.);
  • síťová jména SQL serverů (název počítače v síti a název instance SQL serveru na tomto počítači) a jejich aliasy pro potřebu klienta;
  • různé výjimky pro jednotlivé servery;
  • vynucení šifrovaného přenosu komunikace přes SSL.

Opět platí, že ve většině případů není nutné vlastnosti připojení nastavovat. Výchozí (po instalaci) postačí.

Connection String

Další možností je nastavení parametrů klienta až při připojování v takzvaném connection stringu. Následuje příklad připojení k MS SQL přes TCP/IP na lokální počítač k instanci SQL serveru zvané "milda", která provádí vlastní autorizaci (nikoli jen pomocí uživatelských jmen a hesel pro přihlášení do Windows).

Provider=sqloledb; Network=DBMSSOCN; Adress=localhost,1433; Server=milda; Database=datadb; UID=uzivatel; PWD=heslo;

Connection string je řetězec dvojic oddělených středníkem. Jaké parametry je nutné uvést a jaké jsou nepovinné, to záleží na typu připojovaného posktytovatele dat.

Jednotlivé položky mají následující význam:
Provider – určuje typ poskytovatele dat.
Network – použitý přístupový síťový protokol.
Adress – síťová adresa počítače, na kterém běží server. Název serveru závisí samozřejmě na použitém přístupovém protokolu, v případě TCP/IP to může být IP adresa nebo DNS jméno, které má klient možnost přeložit.
Server – název SQL serveru.
Database – jméno databáze.
UID – uživatelské jméno.
PWD – přístupové heslo.

Některé parametry lze konfigurovat na klientovi pomocí Client Network Utility. Přednostně se použijí ty hodnoty, které jsou uvedeny v connection stringu.

Připojení ze stránky ASP

Nyní ukázka kódu ve VBScriptu, který připojení realizuje pomocí komponenty ActiveX Data Objects (ADO), což je sada součástí umožňujících přístup k datům přes poskytovatele OLE DB.

Set sqlspojeni = Server.CreateObject(„ADODB.Connection“)
sqlspojeni.Provider = „sqloledb“
sqlspojeni.Open „Network=DBMSSOCN; Server=localhost; Database=datadb; UID=milda; PWD=heslo;“

Připojení ze skriptu PHP

Následuje ukázka kódu, který realizuje připojení přes nativní protokoly. Příkazy pro práci s MSSQL ve skriptu PHP jsou velice podobné těm, které se běžně používají pro MySQL. Asi jediný rozdíl je, že příkaz nezačíná předponou mysql_, ale mssql_.

mssql_connect(„localhost“, „milda“, „heslo“);
mssql_select_db („datadb“);

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Žádný příspěvek v diskuzi

Odpovědět