Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Database
Následují bezpečnostní pokyny pro používání SQLXML pro přístup k datům.
Poskytovatel SQLXMLOLEDB zpřístupňuje vlastnost StreamFlags , která vám umožní nastavit příznaky určující, jakou funkcionalitu SQLXML by měla být pro každou konkrétní instanci povolena nebo vypnuta. Tuto vlastnost můžete použít k přizpůsobení používání SQLXML a k tomu, aby byly povoleny pouze komponenty, které chcete. Pro více informací viz SQLXMLOLEDB Provider (SQLXML 4.0).
Když se vyskytnou a jsou vráceny chyby SQLXML, mohou obsahovat informace o schématu databáze, jako jsou názvy tabulek, názvy sloupců nebo typ. Při řešení těchto chyb byste měli být opatrní, aby informace o vaší instalaci SQL Serveru nebyly snadno dostupné uživatelům tam, kde nejsou určeny nebo potřebné.
Při použití k dotazování nebo odesílání aktualizací SQL Serveru SQLXML nestanovuje žádné omezení na množství dat, která lze vyměnit, a neprovádí žádnou kontrolu velikosti dat v SQLXML payloadu před pokusem o zpracování. Když vyvíjíte aplikaci pomocí SQLXML, je vaší odpovědností zajistit, aby systém měl dostatek paměti pro zpracování dat. Například při dotazování dat ze serveru byste měli ověřit, zda je na klientovi dostatek místa v paměti pro jejich přijetí. Stejně tak, pokud načítáte data na server, musíte ověřit, že je na serveru dostatek dostupné paměti pro jejich zpracování a dostatek místa na disku pro uložení dat.
SQLXML dynamicky generuje Transact-SQL dotazů a aktualizačních příkazů a posílá je SQL Serveru k vykonání. To je jediný způsob, jakým SQLXML dotazuje a aktualizuje server. Výsledky budou přijaty buď jako proud (XML), nebo jako řádková sada.
Při přijímání výsledků dotazů SQLXML neprovádí žádné akce na základě obsahu přijatých dat. Žádné další zpracování není prováděno na základě typu nebo obsahu dat. Data se nikdy nepovažují za kód, se kterým se provádí akce.
Při spouštění XML šablon SQLXML překládá dotazy XPath a DBObject obsažené v předložené šabloně do Transact-SQL příkazů, které se následně spouštějí nad SQL Serverem. Tyto příkazy ovlivňují pouze existující data. Příkazy generované SQLXML nikdy nezmění strukturu databáze. Uživatelé musí zadat explicitní příkazy ke změně struktury databáze. Například jejich zahrnutím do bloku sql:query šablony.
Při provádění DBObject dotazů a XPath příkazů přes mapovací soubory SQLXML nijak nemění data v databázi.
SQLXML může provádět změny formátování daných dat na základě rozdílů mezi datovými modely XML a SQL Server. Například formát pro určení času je odlišný. SQLXML se pokusí tyto rozdíly vyřešit. V důsledku toho může být ztraceno určité přesné informace.
SQLXML nestanovuje žádný limit na dobu potřebnou k zpracování dat. Zpracování bude pokračovat, dokud nedojde k chybě nebo nebude zpracování dokončeno.
SQLXML nezapisuje do souborového systému. Pokud uživatelé chtějí uložit data, která získají z databáze, musí to udělat ve svém kódu.
SQLXML umožňuje uživatelům provádět libovolný SQL dotaz přímo v databázi. Tato funkcionalita by nikdy neměla být vystavena nezabezpečenému nebo nekontrolovanému zdroji, protože to v podstatě otevírá SQL databázi bez možnosti pro uživatele.
Při spouštění Updategramů SQLXML překládá bloky updg:sync na příkazy DELETE, UPDATE a INSERT proti instanci SQL Serveru. Tyto příkazy ovlivňují pouze existující data. Příkazy generované SQLXML nikdy neovlivní databázi. Uživatelé musí zadat explicitní příkazy ke změně struktury databáze. Například jejich zahrnutím do bloku sql:query šablony.
Při spouštění DiffGramů SQLXML překládá DiffGram na příkazy DELETE, UPDATE a INSERT proti instanci SQL Serveru. Tyto příkazy ovlivňují pouze existující data. Příkazy generované SQLXML nikdy neovlivní databázi. Uživatelé musí zadat explicitní příkazy ke změně struktury databáze. Například jejich zahrnutím do bloku sql:query šablony.