SQL szerver XML és Internet támogatásának elemei
Az MS SQL szerver új tulajdonsága az XML funkcionalitás támogatása. Ezek az alábbi tulajdonságokat jelentik:
- Az SQL szerver elérhetősége HTTP-n keresztül
- XDR (XML-Data Reduced) sémák támogatása, és XPath lekérdezések meghatározásának képessége ezen sémák számára
- XML adat lekérdezésének és írásának képessége: XML adatok nyerése a SELECT utasítás FOR XML feltételének használatával, XML adat írása az OPENXML szolgáltató segítségével, XML adatok lekérdezése XPath lekérdezőnyelv használatával
- Az MS SQL 2000 OLE DB provider (SQLOLEDB) továbbfejlesztése, ami lehetővé teszi XML dokumentumok parancs szövegként való használatát, és az eredmények adatfolyam (stream) formátumú visszanyerését.
Az Msxml2.dll az SQL szerver 2000-el együtt feltelepül, de a kiegészítő eszközök nélkül. Például az Xmlinst.exe, amely az Internet Explorer konfigurálásához szükséges, hogy az MSXML2-t használja nem települ. A teljes MSXML2 csomagot telepíteni kell, hogy ezt a funkcionalitást használni tudjuk.
IIS Virtual Directory kezelés az SQL Server számára
Az IIS Virtual Directory Management for SQL Server eszköz segítségével MS SQL 2000 számára specifikált virtuális könyvtárat hozhatunk létre. Kétféleképpen hat egymásra az IIS virtuális könyvtár kezelése, valamint az SQL 2000 szerver:
Az IIS Virtual Directory Management for SQL Server alkalmazás
Kattintsunk a Configure SQL XML Support in IIS menüpontra az SQL Server eszközök program csoportban, hogy létrehozzunk egy új virtuális könyvtárat. Ez az eszköz utasítja az IIS-t, hogy hozzon létre kapcsolatot a virtuális könyvtár és az SQL szerver között. Az IIS szerver és a virtuális könyvtár nevét az URL-ben definiálnunk kell. A virtuális könyvtárhoz tartozó információk (azonosító, jelszó, jogosultság) segítségével tudunk adatbázishoz kapcsolódni, és lekérdezést kezdeményezni.
- URL segítségével direkt módon érhetünk el adatbázis objektumokat, pl. táblákat. Indíthatunk sablon fájlokat.
- A mintafájl több SQL utasítást tartalmazhat XML formátumban. Ebben az esetben a megadott utasítások végrehajtódnak. SQL lekérdezést direktben URL-ből is kezdeményezhetünk, de biztonsági megfontolásokból ez nem ajánlott, és le is tiltható.
- Mindezek mellett XPath lekérdezéseket is indíthatunk.
Ahhoz, hogy elérjünk mintafájlokat, adatbázis objektumokat az URL-ből, template, schema és dbobject típusú virtuális neveket kell definiálnunk.
http://IISServer/adatbazis/virname/template.xml
Az itt látható példa URL pontosan meghatároz egy template utasítás végrehajtást. Ebben az esetben a „virname” egy template típusú virtuális név.
IIS Virtual Directory Management for SQL Server objektum modell használata
Az objektum modell az alábbi elemekből áll:
- SQLVDirControl objektum: Segítségével kapcsolatot teremthetünk az IIS szerverrel.
- SQLVDirs collation objektum: Segítségével virtuális könyvtárakat készíthetünk, és törölhetünk.
- SQLVDir objektum: Segítségével paraméterezhetjük a létrehozandó virtuális könyvtárt.
- VirtualNames collation objektum: Segítségével virtuális neveket készíthetünk, törölhetünk.
- VirtualName objejktum: Segítségével a virtuális nevek beállításait konfigurálhatjuk.
Az alábbi példa létrehoz egy virtuális könyvtárat, amely segítségével a Northwind adatbázist tudjuk elérni, és engedélyezzük mindhárom lekérdezési módot: query, templates és xpath lekérdezéseket.
Set ObjXML = CreateObject("SQLVDir.SQLVDirControl")
ObjXML.Connect
Kapcsolódik a saját gép weblapjához.
Set ObjVDirs = ObjXML.SQLVDirs
Set ObjVDir = ObjVDirs.AddVirtualDirectory("northwind")
ObjVDir.PhysicalPath = "C:\Inetpub\wwwroot\northwind"
Általános beállítások tab a felhasználói interfészen.
ObjVDir.UserName = "azonosito" 'SQL Server login
ObjVDir.Password = "jelszo"
Biztonsági beállítások tab a felhasználói interfészen.
ObjVDir.DatabaseName = "Northwind"
Adatforrás tab a felhasználói interfészen, (local) az alapértelmezett az SQL szerverben.
objVDir.AllowFlags = 73 'afURL_QUERIES vagy afTEMPLATES vagy afXPath
Beállítások tab a felhasználói interfészen.
Set objVNames = objVDir.VirtualNames
objVNames.AddVirtualName "dbobject", 1, ""
objVNames.AddVirtualName "schema", 2, "C:\Inetpub\wwwroot\northwind\schema"
objVNames.AddVirtualName "template", 4 , "C:\Inetpub\wwwroot\northwind\template"
Virtuális név konfiguráló tab a felhasználói interfészen
objXML.Disconnect
msgbox "Kész."
Kapcsolat bontása.