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

कैसे ठीक करें "से क्लॉज में बल्क रोसेट के लिए एक सहसंबंध नाम निर्दिष्ट किया जाना चाहिए।" SQL सर्वर में

यदि आप त्रुटि संदेश 491, स्तर 16 का सामना करते हैं, तो SQL सर्वर में "से क्लॉज में बल्क रोसेट के लिए एक सहसंबंध नाम निर्दिष्ट किया जाना चाहिए", यह शायद इसलिए है क्योंकि आप एक सहसंबंध नाम का उपयोग किए बिना फ़ाइल को पढ़ने का प्रयास कर रहे हैं।

जब आप OPENROWSET() . का उपयोग करते हैं BULK . के साथ कार्य करें विकल्प, आपको FROM में एक सहसंबंध नाम (जिसे श्रेणी चर या उपनाम के रूप में भी जाना जाता है) प्रदान करना होगा खंड।

इस त्रुटि को ठीक करने के लिए, बस अपनी क्वेरी के लिए एक सहसंबंध नाम/उपनाम प्रदान करें।

त्रुटि का उदाहरण

यहां कोड का एक उदाहरण दिया गया है जो इस त्रुटि का कारण बनता है।

SELECT BulkColumn FROM OPENROWSET (
    BULK '/var/opt/mssql/bak/pets.json', 
    SINGLE_CLOB
    );

परिणाम:

Msg 491, Level 16, State 1, Line 4
A correlation name must be specified for the bulk rowset in the from clause.

त्रुटि इसलिए हुई क्योंकि मैं सहसंबंध नाम शामिल करना भूल गया था।

समाधान

जैसा कि उल्लेख किया गया है, इस समस्या को ठीक करने के लिए, हमें केवल एक सहसंबंध नाम प्रदान करना है (जिसे श्रेणी चर या उपनाम के रूप में भी जाना जाता है)।

SELECT BulkColumn FROM OPENROWSET (
    BULK '/var/opt/mssql/bak/pets.json', 
    SINGLE_CLOB
    ) AS MyAlias;

परिणाम:

+--------------+
| BulkColumn   |
|--------------|
| { 
    "pets" : {
            "cats" : [
            { "id" : 1, "name" : "Fluffy", "sex" : "Female" },
            { "id" : 2, "name" : "Long Tail", "sex" : "Female" },
            { "id" : 3, "name" : "Scratch", "sex" : "Male" }
        ],
            "dogs" : [
            { "id" : 1, "name" : "Fetch", "sex" : "Male" },
            { "id" : 2, "name" : "Fluffy", "sex" : "Male" },
            { "id" : 3, "name" : "Wag", "sex" : "Female" }
        ]
    }
}              |
+--------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर कर्सर प्रकार - केवल फॉरवर्ड डायनेमिक कर्सर | SQL सर्वर ट्यूटोरियल / TSQL ट्यूटोरियल

  2. T-SQL का उपयोग करके SQL सर्वर में लिंक किए गए सर्वरों की सूची वापस करने के 2 तरीके

  3. सी # में बिगिंट के बराबर क्या है?

  4. अपने ASP.NET कोर एप्लिकेशन को SQLServer के स्थानीय उदाहरण से कनेक्ट करना

  5. SQL सर्वर - UNPIVOT का उपयोग करके NULL शामिल करें