मैं वर्तमान में एक तृतीय-पक्ष सॉफ़्टवेयर सूट चला रहा हूं, जो SQL सर्वर का डेटाबेस के रूप में उपयोग करता है। मेरे पास एक अलग स्थान पर चल रहे SQL सर्वर का दूसरा उदाहरण है, और कुछ ऐप्स जिन्हें मैं उस उदाहरण में बना रहा हूं SQL सर्वर को तृतीय-पक्ष सॉफ़्टवेयर में कुछ डेटा तक पहुंचने की आवश्यकता है। इसलिए, मैंने बॉक्स के बीच एक ओडीबीसी कनेक्शन बनाया, और तीसरे पक्ष के SQL सर्वर को SQL सर्वर के मेरे संस्करण पर एक लिंक किए गए सर्वर के रूप में स्थापित किया। एक परीक्षण के रूप में, मैं अपने एसक्यूएल सर्वर से निम्नलिखित बयान की तरह कुछ भाग गया, तृतीय-पक्ष की तालिकाओं में से एक तक पहुँचने:लिंक किए गए SQL सर्वर डेटाबेस "असंगत मेटाडेटा" त्रुटि
OLE DB error trace [Non-interface error: Column 'TableRowVersion' (compile-time
ordinal 4) of object '"SchemaName"."dbo"."TableName"' was reported to have a
DBCOLUMNFLAGS_ISROWVER of 0 at compile time and 512 at run time].
Msg 7356, Level 16, State 1, Line 1
OLE DB provider 'MSDASQL' supplied inconsistent metadata for a column. Metadata
information was changed at execution time.
यह त्रुटि है:
SELECT * FROM LinkedServerName.SchemaName.dbo.TableName
जो मैं इस त्रुटि प्राप्त करने के लिए किसी अन्य तालिका के लिए मैं एक्सेस करने का प्रयास करता हूं। इस त्रुटि का क्या अर्थ है, और इसके आसपास एक रास्ता है?
के बाद से सवाल एक और एमएस एसक्यूएल सर्वर से कनेक्शन के बारे में है और नहीं कुछ अन्य लोगों डीबीएमएस (MySQL, PostgreSQL, ...) इस उत्तर (देशी तरीका अधिक performant है इस मामले के लिए सबसे अधिक मान्य है ओडीबीसी की तुलना में)। लेकिन अगर आपका दूसरा सर्वर एमएस एसक्यूएल सर्वर नहीं है तो यह काम नहीं करेगा – DestyNova