Aracılığıyla paylaş


İKILI TABAN64 seçeneğini kullanma

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

sorguda BINARY BASE64 seçeneği belirtilirse, ikili veriler base64 kodlama biçiminde döndürülür.

sorguda BINARY BASE64 seçeneği belirtilmezse, AUTO modu varsayılan olarak ikili verilerin URL kodlamasını destekler. Veritabanının sanal kökünün göreli URL'sine başvuru döndürülür. Bu başvuru, sorgunun yürütüldüğü veritabanına başvurudur. Döndürülen başvuru, sonraki işlemlerde gerçek ikili verilere erişmek için kullanılabilir. Bu erişim, SQLXML ISAPI dbobject sorgusu kullanılarak elde edilir. Sorgunun görüntüyü tanımlamak için yeterli bilgi sağlaması gerekir. Bu bilgiler birincil anahtarın sütunlarını içerebilir.

Sütun adı takma

Bir görünümü sorgularken ve FOR XML AUTO modunu kullanırken ikili sütun için diğer ad kullanmayın. Bir diğer ad kullanırsanız, diğer ad ikili verilerin URL kodlamasında geri döndürülür. Sonraki işlemlerde diğer ad anlamsızdır. Anlamsız takma ad ve URL kodlaması, görüntüyü almak için kullanılamaz.

BLOB'a dönüştürme

SELECT sorgusunda, herhangi bir sütunu ikili büyük nesneye (BLOB) atama, sütunu geçici bir varlık haline getirir. Geçici olan BLOB, ilişkili tablo adını ve sütun adını kaybeder. Bu atama, sistem XML hiyerarşisinde bu değeri nereye koyacağını bilmediğinden AUTO modu sorgularının hata oluşturmasına neden olur.

Örneğin, tek satırı olan aşağıdaki tabloyu göz önünde bulundurun.

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

Aşağıdaki sorgu, ikili büyük bir nesneye (BLOB) atamanın neden olduğu bir hata oluşturur:

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

Çözüm, FOR XML yan tümcesine BINARY BASE64 seçeneğini eklemektir. Atamayı kaldırırsanız, sorgu iyi sonuçlar üretir.

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

Aşağıdaki iyi sonucu bekleyebilirsiniz:

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

Ayrıca bakınız

FOR XML ile AUTO Mode kullanma