Erişim FILESTREAM veri Transact-sql ile

Bu konuda nasıl kullanılacağını açıklar Transact-SQLekleme, güncelleştirme ve silme FILESTREAM verilerini yönetmek için deyimleri.

[!NOT]

Bu konudaki örneklerde FILESTREAM etkin veritabanı ve oluşturulan tablo gerektiren FILESTREAM etkin veritabanı oluşturmakve FILESTREAM veri depolama için bir tablo oluşturmak.

Bu Konuda

  • FILESTREAM veri içeren bir satır ekleme

  • FILESTREAM veri güncelleştirme

  • FILESTREAM veri silme

FILESTREAM veri içeren bir satır ekleme

FILESTREAM veri destekleyen bir tabloya satır eklemek için Transact-SQLINSERT deyimi. FILESTREAM sütun veri eklediğinizde, null ekleyebilir ya da bir varbinary(max)değer.

null ekleme

Aşağıdaki örnek nasıl ekleneceğini gösterir NULL. FILESTREAM değeri olduğunda NULL, Veritabanı AltyapısıDosya sistemindeki bir dosyayı oluşturmaz.

INSERT INTO Archive.dbo.Records
    VALUES (newid (), 1, NULL);
GO

Bir sıfır uzunlukta kayıt ekleme

Aşağıdaki örnek, nasıl kullanılacağını gösterir INSERTsıfır uzunlukta kayıt oluşturmak. Bu ne zaman bir tanıtıcı elde etmek istiyorum ama dosya Win32 API'lerini kullanarak idare kullanışlıdır.

INSERT INTO Archive.dbo.Records
    VALUES (newid (), 2, 
      CAST ('' as varbinary(max)));
GO

Bir veri dosyası oluşturma

Aşağıdaki örnek, nasıl kullanılacağını gösterir INSERTveri içeren bir dosya oluşturmak için. Veritabanı AltyapısıDize dönüştürür Seismic Dataiçin bir varbinary(max)değer. Zaten yoksa, FILESTREAM Windows dosyası oluşturur.Veriler daha sonra veri dosyasına eklenir.

INSERT INTO Archive.dbo.Records
    VALUES (newid (), 3, 
      CAST ('Seismic Data' as varbinary(max)));
GO

Tüm verileri seçtiğinizde Archive. dbo.Recordstablo, sonuçları aşağıdaki tabloda gösterilen sonuçları benzer. Ancak, Idsütun içerir farklı GUID'ler.

ID

Seri numarası

Özgeçmiş

C871B90F-D25E-47B3-A560-7CC0CA405DAC

1

NULL

F8F5C314-0559-4927-8FA9-1535EE0BDF50

2

0x

7F680840-B7A4-45D4-8CD5-527C44D35B3F

3

0x536569736D69632044617461

[YUKARI]

FILESTREAM veri güncelleştirme

Sen-ebilmek kullanma Transact-SQLne zaman sen-si olmak-e büyük miktarda veriyi bir dosyaya akış bunu yapmak istemeyebilirsiniz, ancak dosya sistemi dosyasına; verileri güncelleştirmek için.

Aşağıdaki örnek herhangi bir metin dosyası kaydında metinle değiştirir Xray 1.

UPDATE Archive.dbo.Records
SET [Chart] = CAST('Xray 1' as varbinary(max))
WHERE [SerialNumber] = 2;

[YUKARI]

FILESTREAM veri silme

FILESTREAM alan içeren bir satır sildiğinizde, ayrıca temel dosya sistem dosyalarını silin. Kullanmak için bir satır ve bu nedenle dosyayı silmek için tek yol olduğunu Transact-SQLdelete deyimi.

Aşağıdaki örnek, satır ve ilişkili dosya sistem dosyalarını silmek gösterilmiştir.

DELETE Archive.dbo.Records
WHERE SerialNumber = 1;
GO

Tüm verileri seçtiğinizde dbo.Archivetablo satırı gitti. Artık ilişkili dosya kullanabilirsiniz.

[!NOT]

FILESTREAM Çöp Toplayıcısı tarafından temel alınan dosyalar kaldırılır.

[YUKARI]

Ayrıca bkz.

Kavramlar

Etkinleştirme ve FILESTREAM yapılandırma

FILESTREAM uygulamalarında veritabanı işlemleri ile çatışmaları önlemek