Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Jika opsi BINARY BASE64 ditentukan dalam kueri, data biner dikembalikan dalam format pengodean base64. Secara default, jika opsi BINARY BASE64 tidak ditentukan, mode AUTO mendukung pengodean URL data biner. Artinya, alih-alih data biner, referensi ke URL relatif ke akar virtual database tempat kueri dijalankan dikembalikan. Referensi ini dapat digunakan untuk mengakses data biner aktual dalam operasi berikutnya dengan menggunakan kueri dbobject ISAPI SQLXML. Kueri harus memberikan informasi yang cukup, seperti kolom kunci utama, untuk mengidentifikasi gambar.
Dalam menspesifikasi kueri, jika alias digunakan untuk kolom biner dari tampilan, alias tersebut akan dikembalikan dalam pengodean URL data biner. Dalam operasi berikutnya, alias tidak berarti, dan pengodean URL tidak dapat digunakan untuk mengambil gambar. Oleh karena itu, jangan gunakan alias saat mengkueri tampilan menggunakan mode FOR XML AUTO.
Misalnya, dalam kueri SELECT, mentransmisikan kolom apa pun ke objek besar biner (BLOB) menjadikannya entitas sementara karena kehilangan nama tabel dan nama kolom terkait. Ini menyebabkan kueri mode OTOMATIS menghasilkan kesalahan, karena tidak tahu di mana menempatkan nilai ini dalam hierarki XML. Contohnya:
CREATE TABLE MyTable (Col1 int PRIMARY KEY, Col2 binary)
INSERT INTO MyTable VALUES (1, 0x7);
Kueri ini menghasilkan kesalahan, karena transmisi ke objek besar biner (BLOB):
SELECT Col1,
CAST(Col2 as image) as Col2
FROM MyTable
FOR XML AUTO;
Solusinya adalah menambahkan opsi BINARY BASE64 ke klausa FOR XML. Jika Anda menghapus casting, kueri menghasilkan hasil seperti yang diharapkan.
SELECT Col1,
CAST(Col2 as image) as Col2
FROM MyTable
FOR XML AUTO, BINARY BASE64;
Ini adalah hasilnya:
<MyTable Col1="1" Col2="Bw==" />