Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft 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==" />