Procedure yoluyla gönderilecek Büyük Değişkenler için İzinleri (SQL Server)

3 Cevap php

Ben fazla 4000 bayt bir saklı yordam için bir çağrı yoluyla bir kerede alınan izin vermek için bir yol anlamaya olamaz. Ben yaklaşık 15 olan tabloda görüntüleri depolamak am - 20 kilobayt her, ama onları almak ve onları sayfaya göstererek üzerine, onlar her zaman tam olarak boyutu 3.91 KB (veya 4000 bayt).

Saklanan prosedürler seferde gönderilebilir ne kadar veri üzerinde bir sınırı var mı? Benim veri çift-kontrol, ve ben gerçekten sadece varbinary(MAX) alanında ilk 4000 karakter alıyorum.

Aynı anda birden fazla 4k bayt izin ayarı izin var mı?

3 Cevap

Okumanız Using Large-Value Data Types olmalıdır

The max specifier expands the storage capabilities of the varchar, nvarchar, and varbinary data types. varchar(max), nvarchar(max), and varbinary(max) are collectively called large-value data types. You can use the large-value data types to store up to 2^31-1 bytes of data.

The large-value data types are similar in behavior to their smaller counterparts, varchar, nvarchar and varbinary.

Fazla 4000 bayt geçemezse, ben veri sınırlayarak ya kesiliyor olup olmadığını görmek için istemci uygulaması içinde kontrol ediyorum. SQL Server, bir defada birden fazla 4000 bayt alabilir.

EDIT sadece bu bulundu:

EXECUTE (Transact-SQL)

Karakter dizesi ile yürütmek kullanma

In earlier versions of SQL Server, character strings are limited to 8,000 bytes. This requires concatenating large strings for dynamic execution. In SQL Server, the varchar(max) and nvarchar(max) data types can be specified that allow for character strings to be up to 2 gigabytes of data.

SQL Server BLOB'ları erişmek için farklı bir kod kullanmanız gerekir. Örnek here.

SQL Server 2005 "görüntü" denilen bir veri türü vardır. Siz büyük ikili nesne özellikle görüntüleri depolamak için veri türünü kullanmanız gerekir.