मेरे पास ओरेकल डेटाबेस को हिट करने के लिए SQL सर्वर में एक लिंक सर्वर सेटअप है। मेरे पास SQL सर्वर में एक क्वेरी है जो डॉट नोटेशन का उपयोग करते हुए ओरेकल तालिका पर जुड़ती है। मुझे ओरेकल से "कोई डेटा नहीं मिला" त्रुटि मिल रही है। ओरेकल पक्ष पर, मैं एक टेबल (एक दृश्य नहीं) मार रहा हूं और कोई संग्रहित प्रक्रिया शामिल नहीं है।एसक्यूएल सर्वर से जुड़ा हुआ सर्वर ऑरैकल डेटा देता है जब डेटा मौजूद होता है
सबसे पहले, जब कोई डेटा नहीं है तो मुझे केवल शून्य पंक्तियां मिलनी चाहिए, न कि त्रुटि।
दूसरा, वास्तव में इस मामले में डेटा होना चाहिए।
तीसरा, मैंने केवल पीएल/एसक्यूएल कोड में ओआरए -01403 त्रुटि देखी है; एसक्यूएल में कभी नहीं।
यह पूर्ण त्रुटि संदेश है:
OLE DB प्रदाता जुड़ा हुआ सर्वर "OM_ORACLE" के लिए "OraOLEDB.Oracle" लौटे संदेश "ORA-01403: कोई डेटा नहीं मिला"।
संदेश 7346, स्तर 16, राज्य 2, रेखा 1 लिंक किए गए सर्वर "OM_ORACLE" के लिए ओएलई डीबी प्रदाता "OraOLEDB.Oracle" से पंक्ति का डेटा नहीं प्राप्त कर सकता है।
यहां कुछ और विवरण दिए गए हैं, लेकिन संभवतः इसका कोई मतलब नहीं है क्योंकि आपके पास टेबल और डेटा नहीं है।
select *
from eopf.Batch b join eopf.BatchFile bf
on b.BatchID = bf.BatchID
left outer join [OM_ORACLE]..[OM].[DOCUMENT_UPLOAD] du
on bf.ReferenceID = du.documentUploadID;
मैं नहीं समझ सकता कारण है कि मैं एक "कोई डेटा नहीं मिला" त्रुटि मिलती है:
यह समस्या के साथ क्वेरी है। नीचे दी गई क्वेरी एक ही ओरेकल तालिका का उपयोग करती है और कोई डेटा नहीं देती है लेकिन मुझे कोई त्रुटि नहीं मिलती है - मुझे बस कोई पंक्ति वापस नहीं मिलती है।
select * from [OM_ORACLE]..[OM].[DOCUMENT_UPLOAD] where documentUploadID = -1
रिटर्न डेटा नीचे दिए गए क्वेरी। मैंने अभी शामिल होने से SQL सर्वर तालिकाओं में से एक को हटा दिया है। लेकिन बैच तालिका को हटाने से बैचफाइल से लौटाई गई पंक्तियां नहीं बदली जाती हैं (दोनों मामलों में 271 पंक्तियां - बैचफाइल में सभी पंक्तियां बैच प्रविष्टि होती हैं)। यह अभी भी उसी बैचफाइल पंक्तियों में उसी ओरेकल पंक्तियों में शामिल होना चाहिए।
select *
from eopf.BatchFile bf
left outer join [OM_ORACLE]..[OM].[DOCUMENT_UPLOAD] du
on bf.ReferenceID = du.documentUploadID;
और इस क्वेरी 5 पंक्तियाँ देता है। यह मूल क्वेरी से वही 5 होना चाहिए। (मैं इसका उपयोग नहीं कर सकता क्योंकि मुझे बैच और बैचफाइल टेबल से डेटा चाहिए)।
select *
from [OM_ORACLE]..[OM].[DOCUMENT_UPLOAD] du
where du.documentUploadId
in
(
select bf.ReferenceID
from eopf.Batch b join eopf.BatchFile bf
on b.BatchID = bf.BatchID);
क्या किसी ने इस त्रुटि का अनुभव किया है?