Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Om alternativet BINARY BASE64 anges i frågan returneras binära data i base64-kodningsformat.
Om alternativet BINARY BASE64 inte anges i frågan stöder autoläge som standard URL-kodning av binära data. En referens till en relativ URL till databasens virtuella rot returneras. Den här referensen är till databasen där frågan kördes. Den returnerade referensen kan användas för att komma åt faktiska binära data i efterföljande åtgärder. Den här åtkomsten uppnås med hjälp av FRÅGAN SQLXML ISAPI dbobject. Frågan måste innehålla tillräckligt med information för att identifiera avbildningen. Sådan information kan innehålla kolumnerna i primärnyckeln.
Kolumnalias
Använd inte ett alias för en binär kolumn när du frågar en vy och använder FOR XML AUTO-läget. Om du använder ett alias returneras aliaset i URL-kodningen för binära data. I efterföljande åtgärder är aliaset meningslöst. Det meningslösa aliaset och URL-kodningen kan inte användas för att hämta bilden.
Konvertera till en BLOB
I en SELECT-fråga gör gjutning av valfri kolumn till ett binärt stort objekt (BLOB) kolumnen till en tillfällig entitet. Eftersom BLOB är tillfällig förlorar den sitt associerade tabellnamn och kolumnnamn. Den här typen gör att frågor i auto-läge genererar ett fel, eftersom systemet inte vet var den här värdet ska placeras i XML-hierarkin.
Tänk dig till exempel följande tabell med en rad.
CREATE TABLE MyTable (Col1 int PRIMARY KEY, Col2 binary)
INSERT INTO MyTable VALUES (1, 0x7);
Följande fråga genererar ett fel som orsakas av gjutningen till ett binärt stort objekt (BLOB):
SELECT Col1,
CAST(Col2 as image) as Col2
FROM MyTable
FOR XML AUTO;
Lösningen är att lägga till alternativet BINARY BASE64 i FOR XML-satsen. Om du tar bort castingen ger sökfrågan bra resultat.
SELECT Col1,
CAST(Col2 as image) as Col2
FROM MyTable
FOR XML AUTO, BINARY BASE64;
Förvänta dig följande bra resultat:
<MyTable Col1="1" Col2="Bw==" />