Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

डेटाबेस प्रोजेक्ट बनाते समय 'गलत सेट विकल्प' त्रुटि

BOL के अनुसार :

एक स्थायी, परिकलित कॉलम वाली तालिका बनाने के लिए, निम्नलिखित कनेक्शन सेटिंग्स को सक्षम किया जाना चाहिए:

SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
SET ARITHABORT ON
SET CONCAT_NULL_YIELDS_NULL ON
SET NUMERIC_ROUNDABORT ON
SET QUOTED_IDENTIFIER ON

ये मान डेटाबेस स्तर पर सेट हैं और इनका उपयोग करके देखा जा सकता है:

SELECT 
    is_ansi_nulls_on,
    is_ansi_padding_on,
    is_ansi_warnings_on,
    is_arithabort_on,
    is_concat_null_yields_null_on,
    is_numeric_roundabort_on,
    is_quoted_identifier_on
FROM sys.databases

हालांकि, सेट विकल्प क्लाइंट एप्लिकेशन द्वारा भी सेट किए जा सकते हैं SQL सर्वर से कनेक्ट हो रहा है।

एक आदर्श उदाहरण SQL सर्वर प्रबंधन स्टूडियो है जिसमें SET ANSI_NULLS और SET QUOTED_IDENTIFIER दोनों के लिए डिफ़ॉल्ट मान हैं। यह एक कारण है कि मैं शुरू में आपके द्वारा पोस्ट की गई त्रुटि की नकल नहीं कर सका।

वैसे भी, त्रुटि को डुप्लिकेट करने के लिए, यह प्रयास करें (यह SSMS डिफ़ॉल्ट सेटिंग्स को ओवरराइड करेगा):

SET ANSI_NULLS ON
SET ANSI_PADDING OFF
SET ANSI_WARNINGS OFF
SET ARITHABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON 
SET NUMERIC_ROUNDABORT OFF
SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE T1 (
    ID INT NOT NULL,
    TypeVal AS ((1)) PERSISTED NOT NULL
) 

आप ऊपर दिए गए परीक्षण मामले को निम्न का उपयोग करके ठीक कर सकते हैं:

SET ANSI_PADDING ON
SET ANSI_WARNINGS ON

टेबल और संबंधित इंडेक्स बनाने से पहले मैं आपकी स्क्रिप्ट में इन दो सेटिंग्स को बदलने की सलाह दूंगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसएसआईएस - स्थानांतरण के बाद रिकॉर्ड अपडेट करने के लिए फ़ोरैच लूप कंटेनर का उपयोग करना

  2. ASP.Net में SQL इंजेक्शन को रोकना

  3. Sql सर्वर में एक अल्पविराम से अलग किए गए मान के लिए एकाधिक पंक्तियाँ

  4. समूह डेटा को क्रम में समूहीकृत कॉलम मान के परिवर्तन के अनुसार

  5. एसक्यूएल में एक रिकॉर्ड में शून्य मान वाले सभी फ़ील्ड कैसे गिनें?