يعني سيكلسرفير جمع أسماء الأعمدة يجب أن تكون الحالة الصحيحة؟ وكيفية التعامل مع هذا

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

سؤال

وفي SQL Server (2000 أو 2005) هل من الممكن تعيين قاعدة البيانات أو جمع الخادم حتى أن أسماء معرف (الجداول، والأعمدة، وغيرها) بحاجة إلى أن تكون في الحالة الصحيحة؟ إذا كان الأمر كذلك، فهل هذا صحيح من كل النسخ لحالة الأحرف أو هو وضع منفصل؟ (لقد اعتقدت دائما من حالة حساسية تنطبق على البيانات، وليس لأسماء الكائنات).

ويفترض أن هذا من شأنه كسر تطبيق إذا به procs والاستعلامات المخزنة لم تكن مكتوبة مع حالة متناسقة؟ هل هناك طريقة للتعامل مع هذا دون الحاجة إلى ضمان جميع الاستفسارات تستخدم الحالة الصحيحة، مثل تحديد الترتيب من اتصال قاعدة البيانات؟

وأنا أبحث في هذا من وجهة نظر من وجود أحد التطبيقات الموجودة والتي ربما قد فتش غير متسق كود SQL في ذلك، وأنا يريد أن يكون قادرا على تشغيلها ضد قواعد البيانات مع النسخ مختلفة. ما هي إعدادات أحتاج أو ما مجموعة من النسخ قاعدة بيانات / الخادم يمكن لي أن لا تستخدم التطبيق مع؟

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

المحلول

وهذا الترتيب هو ما يحدد إذا الاستفسارات الخاصة بك وسوف يكون حساس لحالة الأحرف. وبالتالي فإن الطريقة الوحيدة لضمان أن المخطط الخاص بك سوف تعمل ضد بيئات متعددة هو أن يكون استفساراتكم تكون القضية الحساسة. إذا الاستفسارات الخاصة بك ليست متسقة، ثم الترتيب الخاص بك يجب أن تكون قضية حساسة وإلا فإنه لن ينجح.

http://msdn.microsoft.com/ أون لنا / مكتبة / aa174903 (SQL.80) .aspx اتصال

وشيء واحد هو أن نلاحظ أنه بمجرد الانتهاء من إعداد بيئة SQL Server الخاص بك مع ترتيب معين، لا يمكنك تغييره دون إنشاء مثيل جديد SQL خادم. حتى كيس القاسي عادة ما يكون وسيلة للذهاب. ثم نسعى جاهدين ليكون الاتساق في الاستعلامات.

وعندما يتم تعيين ترتيب ذلك ينطبق على كل البيانات والبيانات الفوقية، على ما أعتقد.

نصائح أخرى

وتعيين ترتيب في الإصدارات السابقة من SQL Server ولكن في عام 2005 وما بعده، يمكنك تغييره من قبل كائن، كما أنها يتم إنشاؤها.

والترتيب الافتراضي قاعدة بيانات يحدد ما إذا كان يتم التعامل مع الكائنات داخل قاعدة البيانات بطريقة حساسة لحالة الأحرف في استعلامات - وهذا ينطبق على كل اسم الكائن: الجداول، والأعمدة، وغيرها

.

إذا يأتي رمز التطبيق الخاص بك من قاعدة بيانات الترتيب تحسس حالة الأحرف، فإنه قد لا تعمل على قاعدة بيانات الترتيب لحالة الأحرف إذا تم misreferenced كائن (ستحصل رسالة عندما حاولت تشغيل العبارة أو إنشاء الإجراء المخزن ، أو في بنية المخزنة بروك، هل قبض على كل هذه بسرعة كبيرة إلا إذا كان لديك كمية كبيرة من SQL حيوي).

وتذكر أنه حتى في حالة تشغيل التعليمات البرمجية الخاصة بك، والأعمدة الفردية يمكن تعيين مع النسخ التي تختلف من قاعدة البيانات، لذلك فمن الممكن دائما أن مع ترتيب مختلفة، سوف التعليمات البرمجية الخاصة بك تتصرف بشكل غير متوقع (على سبيل المثال، GROUP BY يتصرف بشكل مختلف).

ويمكنك تعيين الترتيب لكل كائن، وتحديد الافتراضي لقاعدة البيانات والخادم كذلك.

وكيفية التعامل معها؟ تحتاج إلى تطبيق معايير هنا. يمكنك بسهولة الحصول على نفسك متشابكة مع أشخاص مختلفين إرسال مع حالة مختلفة.

وينطبق الترتيب أيضا إلى البيانات بحيث "بوب"! = "بوب"

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