Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Az alábbiakban az SQLXML adathozzáféréshez szükséges biztonsági irányelvek találhatók.
Az SQLXMLOLEDB szolgáltató egy StreamFlags tulajdonságot kínál, amely lehetővé teszi, hogy zászlókat állítsunk be, amelyek jelzik, hogy melyik SQLXML funkciót kell engedélyezni vagy kikapcsolni az adott példányban. Ezt a tulajdonságot használhatod az SQLXML testreszabásához, és hogy csak a kívánt komponensek legyenek engedélyezve. További információért lásd: SQLXMLOLEDB Provider (SQLXML 4.0).
Amikor SQLXML hibák előfordulnak és visszaadódnak, azok tartalmazhatnak információkat az adatbázis sémájáról, például táblaneveket, oszlopneveket vagy típusinformációkat. Óvatosan kell kezelni ezeket a hibákat, hogy az SQL Server telepítésével kapcsolatos információk ne legyenek könnyen felfedezhetők a felhasználók számára, ahol nem szándékosan vagy nincs rá szükség.
Ha lekérdezésre vagy frissítések küldésére használják az SQL Servernek, az SQLXML nem szab korlátozást az adatcserére, és nem ellenőrzi az adatok méretét egy SQLXML payloadban, mielőtt megpróbálná feldolgozni. Amikor SQLXML használatával fejleszted az alkalmazást, az ön felelőssége, hogy a rendszerben elegendő memória legyen az adatok feldolgozásához. Például, amikor adatokat kérdezel a szerverről, ellenőrizd, hogy a kliensben van-e elég memória a fogadáshoz. Hasonlóképpen, ha adatokat töltesz be a szerverre, ellenőrizned kell, hogy van-e elég memória a szerveren a feldolgozáshoz, és elegendő lemeztárhely az adatok tárolására.
Az SQLXML dinamikusan generál Transact-SQL lekérdezéseket és frissítési parancsokat, majd elküldi azokat az SQL Servernek futtatásra. Ez az egyetlen módja annak, hogy az SQLXML lekérdezze és frissítse a szervert. Az eredményeket vagy XML-es streamként, vagy sorhalmazként kapják meg.
Amikor lekérdezési eredményeket kap, az SQLXML nem tesz lépéseket az általa kapott adatok tartalma alapján. További feldolgozás nem történik az adatok típusa vagy tartalma alapján. Az adatokat soha nem kezelik kódként, amellyel műveleteket hajtanak végre.
XML sablonok futtatásakor az SQLXML az XPath és DBObject lekérdezéseket Transact-SQL parancsokká fordítja, amelyeket aztán az SQL Server ellen futtatnak. Ezek a parancsok csak a meglévő adatokat érintik. Az SQLXML által generált parancsok soha nem változtatják meg az adatbázis szerkezetét. A felhasználóknak explicit parancsokat kell kiadniuk az adatbázis szerkezetének megváltoztatásához. Például úgy, hogy beillesztjük őket egy sql:query blokkba egy sablonban.
Amikor DBObject lekérdezéseket és XPath utasításokat futtatunk leképező fájlokon keresztül, az SQLXML semmilyen módon nem változtatja meg az adatbázis adatait.
Az SQLXML formázási módosításokat végezhet az adott adatokon az XML és SQL Server adatmodellek közötti különbségek alapján. Például az idő megadásának formátuma eltérő. Az SQLXML megpróbálja megoldani ezeket a különbségeket. Ennek következtében néhány precíziós információ elveszhet.
Az SQLXML nem szab korlátot az adatok feldolgozásához szükséges időre. A feldolgozás addig folytatódik, amíg hiba nem történik vagy a feldolgozás befejeződik.
Az SQLXML nem ír a fájlrendszerbe. Ha a felhasználók el akarják menteni az adatbázisból visszanyert adatokat, ezt a kódjukban kell megtenniük.
Az SQLXML lehetővé teszi, hogy a felhasználók bármilyen SQL lekérdezést végrehajtsanak az adatbázison. Ezt a funkciót soha nem szabad kitéve nem biztonságos vagy ellenőrizetlen forrásnak, mivel ez lényegében az SQL adatbázis megnyitását jelenti anélkül, hogy bármely felhasználó számára elérhetővé válik.
Updategrams futtatásakor az SQLXML az updg:sync blokkokat DELETE, UPDATE és INSERT parancsokra fordítja le az SQL Server példány ellen. Ezek a parancsok csak a meglévő adatokat érintik. Az SQLXML által generált parancsok soha nem változtatják meg az adatbázist. A felhasználóknak explicit parancsokat kell kiadniuk az adatbázis szerkezetének megváltoztatásához. Például úgy, hogy beillesztjük őket egy sql:query blokkba egy sablonban.
A DiffGrams futtatásakor az SQLXML a DiffGramot DELETE, UPDATE és INSERT parancsokra fordítja le az SQL Server példány ellen. Ezek a parancsok csak a meglévő adatokat érintik. Az SQLXML által generált parancsok soha nem változtatják meg az adatbázist. A felhasználóknak explicit parancsokat kell kiadniuk az adatbázis szerkezetének megváltoztatásához. Például úgy, hogy beillesztjük őket egy sql:query blokkba egy sablonban.