SSIS 2008 প্যাকেজ কনফিগারেশন উপেক্ষা করা হচ্ছে ignored


10

২০০ 2005 এর তুলনায় ২০০ package সালে প্যাকেজ কনফিগারেশনের পরিবর্তনের সাথে আমি যখন কমান্ড লাইনে কিছু / কনফিগার ফাইলে নির্দিষ্ট করে থাকি C

বাহ্যিক কনফিগারেশন ফাইলটি ব্যবহার করার জন্য আমি কীভাবে বুঝতে পারি তা আমি নিশ্চিত নই। আমি নিবন্ধগুলি পড়েছি যেগুলি বলে যে কেবলমাত্র নকশা-সময়ের কনফিগারেশনগুলি সেট করা রয়েছে তা বাহ্যিক ফাইলের লোডকে ওভাররাইট করে দেবে। এর অর্থ কি আমি ভেরিয়েবলগুলি ফাঁকা স্ট্রিংয়ে পরিবর্তন করতে পারি এবং তারপরে সেগুলি ওভাররাইট হয়ে যাবে? আমি ভেরিয়েবলটি পুরোপুরি মুছতে পারি না! পূর্ণসংখ্যা সম্পর্কে কি?

আমি নিবন্ধগুলি দেখেছি যেগুলি প্যাকেজে প্যাকেজ কনফিগারেশন ব্যবহার করে বন্ধ করার কথা উল্লেখ করেছে।

আমি প্যাকেজে কনফিগারেশন ফাইলের পথ পরিবর্তন করতে এসএসআইএস প্যাকেজ সম্পাদক বা একটি এক্সএমএল সম্পাদক ব্যবহার করতে পারি, এবং তারপরে এটি ফাইলটির সেটিংস "শেষ" (বহিরাগত / কনফিগার ফাইল বিকল্প নির্বিশেষে) ব্যবহার করবে, তবে আমি হতে চাই না প্যাকেজ পরিবর্তন। আমি টেস্ট.ডটস কনফিগ এবং প্রোডাকশন.ডটিস কনফিগের সাথে একটি প্যাকেজ চাই এবং প্যাকেজটি পরিবর্তন না করেই পিছনে পিছনে সোপান করতে সক্ষম হব।

এটি করার প্রস্তাবিত উপায় এখন কী?


1
আপনি এখানে এসকিউএল সার্ভারসেন্ট্রাল ফোরামটিতে আপনার ত্রাণ পেতে পারেন । আচরণ পরিবর্তনের কিছু ব্যাখ্যা এখানে রয়েছে - প্যাকেজ কনফিগারেশনের সাথে সম্পর্কিত আচরণের পরিবর্তনগুলি।
মারিয়ান

আমি যে প্যাকেজগুলি এবং কনফিগারগুলি সম্পর্কে বলছি সে সম্পর্কে ধারণা পেতে দয়া করে নীচের ফাইলগুলি দেখুন: কনফিগারেশন এবং ব্যাচগুলি , টেস্ট প্যাকেজ এবং রেডমি
মারিয়ান

উত্তর:


10

আপনার অবশ্যই অ্যাকাউন্টে নিতে হবে যে বিআইডিএস দ্বারা চালিত হওয়ার পরে প্যাকেজটি প্রথমে কনফিগার ফাইল থেকে পরিবর্তনশীল মানটি গ্রহণ করবে এবং কেবলমাত্র কনফিগার ফাইলটি উপস্থিত না থাকলে এটি একটি সতর্কতা নিক্ষেপ করবে এবং প্যাকেজ থেকে মানটি নেওয়া হবে।

এখন, কমান্ড লাইনের পরিস্থিতি কিছুটা আলাদা। আপনার নিম্নলিখিত পরিস্থিতিতে থাকতে পারে:

  1. কোনও কনফিগার ফাইল বাছাই না করে প্যাকেজটি সেমিডি লাইনে চালান:

    dtExec /file "e:\Work\TestPackageConfiguration\TestPackageConfiguration\TestPackage.dtsx"
    • যদি প্যাকেজের মেটাডেটা সংজ্ঞায়িত একই পথে মূল কনফিগারেশন ফাইলটি (এটি এর প্রোডের নাম দিন) উপস্থিত না থাকে তবে প্যাকেজের অভ্যন্তর থেকে মানগুলি ব্যবহার করা হয় এবং আপনি কেবল একটি সতর্কতা পেয়ে যাবেন যে কনফিগার ফাইলটি অনুপস্থিত;
    • যদি মূল কনফিগারেশন ফাইল উপস্থিত থাকে এবং বৈধ হয় তবে কনফিগার ফাইল থেকে মানগুলি ব্যবহার করা হবে (অভ্যন্তরীণ মানগুলি বাইপাস করা হবে);
  2. কোনও কনফিগার ফাইল বাছাই না করেই প্যাকেজটি সেমিডি লাইনে চালান, তবে কলটিতে ভেরিয়েবল সেট সহ:

    dtExec /file "e:\Work\TestPackageConfiguration\TestPackageConfiguration\TestPackage.dtsx" /SET \Package.Variables[checkMe];"outside the package in cmd line"
    • যদি মূল কনফিগারেশন ফাইলটি উপস্থিত না থাকে তবে মানটি / SET প্যাকেজ কল থেকে নেওয়া হয়;
    • যদি মূল কনফিগারেশন ফাইলটি উপস্থিত থাকে তবে কনফিগার ফাইল থেকে মানটি নেওয়া হবে এবং এমনকি / এসইটি উপেক্ষা করা হবে (এটি কেবল উপরের ক্ষেত্রে ব্যবহৃত হয়);
  3. একটি নতুন কনফিগারেশন ফাইলের সাথে প্যাকেজটি সেমিডিআর লাইনে চালিত করুন (এর পরিবর্তে প্রোটি ডিইভি বলুন):

    dtExec /file "e:\Work\TestPackageConfiguration\TestPackageConfiguration\TestPackage.dtsx" /configFile "c:\ETL Config\TestPackage_config_Dev.dtsConfig"
    • যদি নতুন কনফিগারেশন (ডেভ) ফাইল উপস্থিত থাকে এবং পুরাতন (প্রোড) উপস্থিত না থাকে, তবে এর থেকে মানগুলি ব্যবহৃত হয়;
    • যদি ডেভ এবং প্রোড কনফিগার ফাইল উভয়ই বিদ্যমান থাকে তবে কেবল প্রোড থেকে মানগুলি ব্যবহৃত হয় (কমান্ড লাইন কলে নির্দিষ্ট করেও ডিইভি বাইপাস করা হয়);
  4. কলটিতে একটি নতুন কনফিগার ফাইল এবং একটি এসইটি স্টেটমেন্টের সাহায্যে প্যাকেজটি সেমিডি লাইনে চালিত করুন:

    dtExec /file "e:\Work\TestPackageConfiguration\TestPackageConfiguration\TestPackage.dtsx" /configFile "c:\ETL Config\TestPackage_config_Dev.dtsConfig" /SET \Package.Variables[checkMe];"outside the package in cmd line - DEV config"
    • যদি উভয় কনফিগারেশন ফাইল বিদ্যমান থাকে তবে প্রোড ব্যবহার করা হবে, অন্য সকল উপেক্ষা করা হবে, এমনকি এসইটি;
    • কোনও কনফিগার ফাইল উপস্থিত না থাকলে, এসইটি মান ব্যবহার করা হবে;

সুতরাং, সংক্ষেপে, আপনি যদি একটি নতুন কনফিগারেশন ফাইলটি ব্যবহার করতে চান তবে আপনাকে পুরানোটির নাম পরিবর্তন করতে / সরাতে হবে এবং প্যাকেজটি / কনফিগারফাইলে কল করতে হবে। যদি এটি পর্যাপ্ত না হয় এবং এমনকি নতুন কনফিগারেশন ফাইলকে ওভাররাইড করতে চান, তবে / এসইটি ভেরিয়েবলটি ব্যবহার করুন। অথবা আপনি যে কোনও কনফিগার ফাইলকে বাইপাস করতে পারেন এবং ব্যাচ কলটিতে কেবল / এসইটি স্টেটমেন্ট ব্যবহার করতে পারেন।

আশা করি এটি আপনার সম্ভাবনাগুলিতে কিছুটা আলোকপাত করবে।


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

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

আমি ধরে নিলাম আপনি সম্মত হন যে এটি হওয়া উচিত এর চেয়ে অনেক বেশি জটিল, তাই না? যেমন তারা ২০০৮-এর পরিবর্তনে নতুন একটি সামান্য বৈশিষ্ট্য (পুনরায় লোডিং) পেয়েছে তবে প্যাকেজ কনফিগারেশনের সবচেয়ে সাধারণ ব্যবহারের দৃশ্যটি হত্যা করেছে killed
ক্যাড রক্স

আচ্ছা, হ্যাঁ, আমি সম্মত হয়েছি যেভাবে হওয়া উচিত তার চেয়ে খারাপ lier এটি বের করতে আমার অনেক সময় লেগেছে, কারণ আমি সবসময় মূল কনফিগার ফাইলটির নাম পরিবর্তন করতে ভুলে গেছি :-)। আমি নীচের ক্রমে এটি আরও পছন্দ করতে চাই: সেট, / কনফিগার ফাইল, মূল কনফিগারেশন, অভ্যন্তরীণ প্যাকেজ মান। এটি আমার পক্ষে আরও বোধগম্য হয়ে উঠত ..
মারিয়ান

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