أذونات للمتغيرات الكبيرة التي سيتم إرسالها عبر الإجراءات المخزنة (SQL Server)

StackOverflow https://stackoverflow.com/questions/2669306

سؤال

لا يمكنني اكتشاف طريقة للسماح لأكثر من 4000 بايت لاستلامها مرة واحدة عبر مكالمة إلى إجراء مخزن. أقوم بتخزين الصور في الجدول التي تتراوح بين 15 و 20 كيلو بايت لكل منها ، ولكن عند الحصول عليها وعرضها على الصفحة ، تكون دائمًا بحجم 3.91 كيلو بايت (أو 4000 بايت).

هل تحتوي الإجراءات المخزنة على كمية البيانات التي يمكن إرسالها مرة واحدة؟ لقد قمت بفحص بياناتي المزدوجة ، وأنا في الحقيقة أتلقى فقط 4000 حرف من varbinary(MAX) مجال.

هل هناك إعداد إذن للسماح لأكثر من 4 كيلو بايت في وقت واحد؟

هل كانت مفيدة؟

المحلول

يجب أن تقرأ باستخدام أنواع البيانات ذات القيمة الكبيرة

يوسع Max Smobile إمكانيات التخزين لأنواع البيانات Varchar و NvarChar و Varbinary. تسمى Varchar (Max) و Nvarchar (Max) و Varbinary (Max) مجتمعة أنواع البيانات ذات القيمة الكبيرة. يمكنك استخدام أنواع البيانات ذات القيمة الكبيرة لتخزين ما يصل إلى 2^31-1 بايت من البيانات.

تشبه أنواع البيانات ذات القيمة الكبيرة في السلوك بنظرائها الأصغر ، Varchar ، Nvarchar و Varbinary.

إذا لم تتمكن من تمرير أكثر من 4000 بايت ، فسوف أتحقق من تطبيق العميل لمعرفة ما إذا كان يحد من بياناتك أو اقتطاعها. يمكن أن يستغرق SQL Server أكثر من 4000 بايت في وقت واحد.

تعديل فقط وجدت هذا:

تنفيذ (Transact-SQL)

باستخدام تنفيذ مع سلسلة أحرف

في الإصدارات السابقة من SQL Server ، تقتصر سلاسل الأحرف على 8000 بايت. وهذا يتطلب تسلسل السلاسل الكبيرة للتنفيذ الديناميكي. في SQL Server ، يمكن تحديد أنواع البيانات Varchar (Max) و NVarChar (Max) التي تسمح بسلاسل الأحرف لتصل إلى 2 غيغابايت من البيانات.

نصائح أخرى

تحتاج إلى استخدام رمز مختلف للوصول إلى SQL Server. مثال هنا.

يوجد نوع بيانات يسمى "Image" في SQL Server 2005. يجب عليك استخدام نوع البيانات لتخزين كائن ثنائي كبير وخاصة الصور.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top