Sdílet prostřednictvím


Použití možnosti BINARY BASE64

platí pro:SQL ServerAzure SQL Databaseazure SQL Managed Instance

Pokud je v dotazu zadána možnost BINARY BASE64, binární data se vrátí ve formátu kódování base64.

Pokud není v dotazu zadána možnost BINARY BASE64, režim AUTO ve výchozím nastavení podporuje kódování adresy URL binárních dat. Vrátí se odkaz na relativní adresu URL virtuálního kořenového adresáře databáze. Tento odkaz je na databázi, ve které byl dotaz proveden. Vrácený odkaz lze použít pro přístup k skutečným binárním datům v následných operacích. Tento přístup se dosahuje pomocí dbobject dotazu SQLXML ISAPI. Dotaz musí poskytnout dostatek informací k identifikaci obrázku. Tyto informace můžou zahrnovat sloupce primárního klíče.

Alias sloupce

Nepoužívejte alias pro binární sloupec, když dotazujete zobrazení a zároveň používáte režim FOR XML AUTO. Pokud používáte alias, vrátí se alias v URL kódování binárních dat. V následných operacích je alias nesmyslný. K načtení obrázku se nedá použít bezvýznamný alias a kódování adresy URL.

Převod na BLOB

Přetypování libovolného sloupce do binárního velkého objektu (BLOB) v dotazu SELECT způsobí, že sloupec je dočasnou entitou. Objekt BLOB je dočasný, ztratí přidružený název tabulky a název sloupce. Toto přetypování způsobí, že dotazy v režimu AUTO vygenerují chybu, protože systém neví, kam tuto hodnotu umístit do hierarchie XML.

Představte si například následující tabulku s jedním řádkem.

CREATE TABLE MyTable (Col1 int PRIMARY KEY, Col2 binary)
INSERT INTO MyTable VALUES (1, 0x7);

Následující dotaz vytvoří chybu, která je způsobena přetypováním na binární velký objekt (BLOB):

SELECT Col1,
CAST(Col2 as image) as Col2
FROM MyTable
FOR XML AUTO;

Řešením je přidat do klauzule FOR XML možnost BINARY BASE64. Pokud přetypování odeberete, dotaz vytvoří dobré výsledky.

SELECT Col1,
CAST(Col2 as image) as Col2
FROM MyTable
FOR XML AUTO, BINARY BASE64;

Očekáváme následující dobrý výsledek:

<MyTable Col1="1" Col2="Bw==" />

Viz také

Používejte režim AUTO pro XML