dm_exec_describe_first_result_set_for_object একাধিক রেজাল্ট সেটের জন্য


9

সঞ্চিত পদ্ধতিতে সমস্ত ফলাফলের সেটগুলির জন্য মেটাডেটা ফিরিয়ে দেওয়ার জন্য কী কোনও প্রক্রিয়া বিদ্যমান?

কিছু মত sys.dm_exec_describe_first_result_set_for_object, কিন্তু সব ফলাফল সেট?

শেষ পর্যন্ত, আমি ডাটাবেসের প্রতিটি সঞ্চিত পদ্ধতিতে প্রতিটি ফলাফলের জন্য মেটাডেটা আবিষ্কার করতে চাই। আপাতত, আমি কেবল ফলাফলের সেটগুলির জন্য নিষ্পত্তি করব যা sys.dm_exec_describe_first_result_set_for_objectবর্ণনা করতে পারে না। অর্থাৎ ২ য়, ৩ য়, এবং নবম ফলাফল সেট।

এটি করার জন্য এসকিউএলসিআরআর ব্যবহারের দিকে তাকানো:

একাধিক ফলাফল সেটএসএসএলটি - এসকিউএল সার্ভারের জন্য ডিবি ইউনিট পরীক্ষা - ফলাফলসেটফিল্টার.সি.এস সহ একটি পদ্ধতির ফলাফল কীভাবে সংরক্ষণ
করবেন?


3
না, এসকিউএল সার্ভারের মধ্যে এ জাতীয় কোনও জিনিস নেই, এটি করার জন্য আপনাকে কোড লিখতে হবে (এবং আপনাকে সম্ভবত অনেক ক্ষেত্রে অনুমান করতে হবে)।
অ্যারন বারট্র্যান্ড

উত্তর:


3

সঞ্চিত পদ্ধতিতে সমস্ত ফলাফলের সেটগুলির জন্য মেটাডেটা ফিরিয়ে দেওয়ার জন্য কী কোনও প্রক্রিয়া বিদ্যমান?

না এবং হ্যাঁ

না

প্রথম ফলাফল সেটের চেয়ে বেশি অ্যাক্সেসের খাঁটি টি-এসকিউএল উপায় নেই। এমনকি ওপেনরোসেট এবং অপেনপুরিতেও একই সীমাবদ্ধতা রয়েছে:

যদিও কোয়েরিতে একাধিক ফলাফল সেটগুলি ফিরে আসতে পারে, ওপেন (ROWSET | QUERY) কেবলমাত্র প্রথমটি দেয়।

রেকর্ডের জন্য, আমি এই কথা সীমাবদ্ধতার জন্য কোনও সাধারণ প্রযুক্তিগত কারণ নেই বা বলছি বা বোঝাইচ্ছি না। আমি শুধু ইশারা করছি যে সীমাবদ্ধতা মধ্যেই সীমাবদ্ধ নয় sp_describe_first_result_set, sys.dm_exec_describe_first_result_setএবং sys.dm_exec_describe_first_result_set_for_object

হ্যাঁ

তথ্য ক্যাপচার একমাত্র উপায় - ফলাফল সেট মেটা-ডেটা এবং এমনকি ফলাফল - ফলাফল সেট 2 - n অ্যাপ্লিকেশন কোডের মাধ্যমে হয়। আপনিই প্রথম প্রশ্নের / সঞ্চিত পদ্ধতি (গুলি) ব্যবহার করে চালানো হবে SqlCommand.ExecuteReader (CommandBehavior) একটি সঙ্গে CommandBehavior এর KeyInfo। তারপরে, আপনি SQLDataReader.GetSchemaTable পদ্ধতি ব্যবহার করে ফলাফল সেট মেটা ডেটা পেতে পারেন এবং ফলাফল সেটগুলির মাধ্যমে চক্রের জন্য SqlDataReader.NextResult পদ্ধতিতে কল করতে পারেন । কেবল মনে রাখবেন যে অ্যাপ কোডের মাধ্যমে এটি করার সময় ডায়নামিক এসকিউএল এবং অস্থায়ী সারণীগুলির সাথে কাজ না করার সীমাবদ্ধতা থাকে না, এটি করেআসলে এসকিউএল কোডটি চালান, এবং যদি আপনার ডিএমএল স্টেটমেন্ট থাকে এবং ফলাফলের কোনও পরিবর্তন না ঘটায় কেবল মেটা-ডেটা সেট করতে চান, তবে আপনাকে যে এসকিউএল পরীক্ষা করতে যাচ্ছেন তা একটি BEGIN TRAN/ ROLLBACK TRAN

অ্যাপ্লিকেশন ধরণের একটি নিয়মিত উইন্ডোজ অ্যাপ, কনসোল অ্যাপ্লিকেশন, ওয়েব অ্যাপ্লিকেশন ইত্যাদি হতে পারে বা এটি কোনও এসকিউএলসিআরআর ফাংশন / সঞ্চিত পদ্ধতিও হতে পারে।

এসকিউএলসিআরআর এর মাধ্যমে এটি করার ক্ষেত্রে, একটি সঞ্চিত পদ্ধতি ইতিমধ্যে উপস্থিত রয়েছে যা এখানে বর্ণিত হয়েছে does এটিকে DB_DescribeResultSets বলা হয় এবং এটি এসকিউএল # লাইব্রেরির অংশ ( এটির আমি লেখক এবং যখন একটি নিখরচায় সংস্করণ থাকে, তখন ডিবি_ডেসক্রাইবসেলসুটসেটগুলি কেবল সম্পূর্ণ সংস্করণে উপলব্ধ)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.