[INFORMATION_SCHEMA] অবজেক্টের সমাধান না হওয়া রেফারেন্স [[সারণী]


101

আমি একটি ইউডিএফ তৈরি করেছি যা [INFORMATION_SCHEMA].[TABLES]ভিউটি অ্যাক্সেস করে :

CREATE FUNCTION [dbo].[CountTables]
(
    @name sysname
)
RETURNS INT
AS
BEGIN
    RETURN
    (
        SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @name
    );
END

ভিজ্যুয়াল স্টুডিওতে স্কিমা এবং দর্শনটির নাম দুটিই একটি সতর্কতার সাথে চিহ্নিত করা হয়েছে:

এসকিউএল 71502: ফাংশন: [ডিবিও] [

আমি এখনও কোনও সমস্যা ছাড়াই ডাটাবেস প্রকল্পটি প্রকাশ করতে পারি এবং ইউডিএফটি সঠিকভাবে চলমান বলে মনে হয় না। ইন্টেলিজেন্স আমার জন্য ভিউটির নামটি জনপ্রিয় করে তোলে তাই এটিতে কোনও সমস্যা হয়েছে বলে মনে হয় না।

আমি sys.objectsএই দৃশ্যের পরিবর্তে বাস্তবায়নটি ব্যবহার করার পরিবর্তে চেষ্টাও করেছি , তবে এই দৃশ্যের জন্যও আমাকে একই সতর্কতা দেওয়া হয়েছিল।

আমি কীভাবে এই সতর্কতাটি সমাধান করতে পারি?

উত্তর:


182

এতে একটি ডাটাবেস রেফারেন্স যুক্ত করুন master:

  1. প্রকল্পের অধীনে, তথ্যসূত্রগুলিতে ডান ক্লিক করুন ।
  2. ডাটাবেস রেফারেন্স যুক্ত করুন ... নির্বাচন করুন
  3. সিস্টেম ডাটাবেস নির্বাচন করুন ।
  4. নিশ্চিত করুন মাস্টার নির্বাচিত হয়েছে।
  5. ঠিক আছে টিপুন ।

দ্রষ্টব্য যে ভিএস আপডেট হতে কিছু সময় নিতে পারে।


6
এবং কেবল একটি সতর্কবার্তা - যদি কেউ এসএসডিটি অন্য পথে ইনস্টল করে থাকে তবে আপনার সমস্যা হতে পারে। আমরা আমাদের শেষ প্রজেক্টে ছুটে এসেছি যেখানে কারও কারও কাছে ই: ড্রাইভ এবং অন্যদের কেবল একটি সি: ড্রাইভ ছিল। আমরা সেই রেফারেন্স ফাইলটি অনুলিপি করে এটিকে একটি ভাগ করা জায়গায় রেখেছি যাতে এটির মাধ্যমে আমরা রেফারেন্স করতে পারি। SharedSchemas \ মাস্টার.ড্যাকপ্যাক। এটি সম্ভবত এখন সমাধান হয়েছে, তবে এটি প্রথম প্রকাশে একটি সমস্যা ছিল।
পিটার শোট

পিটার শোট এখানে একটি পয়েন্ট আছে। সমাধানের ভিতরে কোথাও রেফারেন্সড ড্যাকপ্যাক ফাইলগুলি অনুলিপি করা এবং সেখান থেকে ব্যবহার করা ভাল idea
ভিজেল ওজডেমির

4
আমার জন্য এটি বলে "আপনার প্রকল্পে ইতিমধ্যে এই সিস্টেমের ডাটাবেসের একটি উল্লেখ রয়েছে" " আমি এখন আটকা!
ওরাড

4
কেবল পরের ব্যক্তির জন্য কিছু বিচক্ষণতা বাঁচানোর জন্য - এটি বিশ্বাস করুন বা ভিএস ছেড়ে দেওয়াও এটিকে আটকে রাখার পক্ষে যথেষ্ট ছিল না - আমাকে রিবুট করতে হয়েছিল এবং তারপরে সেটিংটি কাজ শুরু করে। আপনি ভিজ্যুয়াল স্টুডিও বিকল্পগুলিও খুলতে চাইতে পারেন ... এসকিউএল সার্ভার সরঞ্জামসমূহ ... অনলাইন সম্পাদনা ... "সিস্টেমের দর্শন এবং মাস্টার ডাটাবেস অবজেক্টগুলির জন্য রেফারেন্সগুলি সমাধান করুন" সক্ষম করুন।
NYCdotNet

ভিজ্যুয়াল স্টুডিও 2017 এর আওতায় আমার একই সমস্যা রয়েছে এবং আমি রেফারেন্স তালিকার অধীনে "ডেটাবেস রেফারেন্স" দেখতে পাচ্ছি না
স্কার্ল

3

স্যাম যা বলেছিল তা করার এটি সর্বোত্তম উপায়।
যাইহোক, আপনার যদি এমন কোনও পরিস্থিতি দেখা যায় যে কোনও নির্দিষ্ট মেশিনে আপনাকে সেই মেশিনটি থেকে ড্যাকপ্যাক মোতায়েন করা দরকার যা সেই নির্দিষ্ট জায়গায় রেফারেন্স নেই, আপনি সমস্যার মধ্যে পড়তে পারেন। আরেকটি উপায় হ'ল আপনার। প্রকল্প ফাইলটি খুলুন এবং নিশ্চিত করুন যে falseআপনি চালনার চেষ্টা করছেন সেই বিল্ড কনফিগারেশনটির জন্য নিম্নলিখিত ট্যাগটির মান রয়েছে ।

<TreatTSqlWarningsAsErrors>false</TreatTSqlWarningsAsErrors>

এইভাবে আপনার আপনার প্রকল্পে একটি রেফারেন্স যুক্ত করার দরকার নেই।


13
এটি একটি শেষ অবলম্বন হওয়া উচিত, কারণ আপনি স্কিএল ত্রুটির বিষয়ে প্রতিক্রিয়া হারাচ্ছেন!
জওয়েন

3

আমাদের প্রকল্পে, ইতিমধ্যে আমাদের কাছে মাস্টারের একটি রেফারেন্স রয়েছে তবে আমাদের এই সমস্যাটি ছিল। আমরা পেয়েছি ত্রুটি এখানে:

SQL71502: Procedure: [Schema].[StoredProc1] has an unresolved reference to object [Schema].[Table1].[Property1].

রেফারেন্স ত্রুটিটি সমাধান করার জন্য, টেবিলের স্ক্যুএল ফাইলটিতে ডান ক্লিক করুন বৈশিষ্ট্যগুলি এবং বিল্ডসেটেটিংগুলি বিল্ডে সেট করা আছে তা যাচাই করুন।

এটির বিল্ড পরিবর্তন এটি স্থির করে।


ভিএস 2019 সালে, আমার কাছে এই সমস্যাটি একটি ডাটাবেস প্রকল্পের সাথে ছিল যা মূলত 2017 সালে নির্মিত হয়েছিল it এটি ঠিক করার জন্য, আমাকে "মাস্টার" এর রেফারেন্সটি সরিয়ে পুনরায় যুক্ত করতে হয়েছিল
অ্যালান হ্যাডসেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.