উত্স এলওবি কলামগুলির সাথে লেনদেন করার সময় "সারি সারি সারি" আনার পদ্ধতি এড়ানো


12

আমার একটি লিগ্যাসি পোস্টগ্রিএসকিউএল ডাটাবেস উত্স (ওডিবিসি) রয়েছে যা আমি এসএসআইএস ব্যবহার করে নতুন এসকিউএল সার্ভার স্কিমাতে স্থানান্তরিত করার চেষ্টা করছি। আমি একটি সতর্কবার্তা বলছি:

'সারি দ্বারা সারি' আনার পদ্ধতিটি কার্যকর করা হয়েছে কারণ টেবিলটিতে LOB কলাম রয়েছে। কলামের সামগ্রীটি এলওবি

জিনিস কলামের কেউ সত্যিই হয় প্রয়োজন LOBs যাবে। এখানে পাঠ্য প্রকারের কয়েকটি রয়েছে তবে ভার্চারের (সর্বাধিক) মধ্যে সহজেই ফিট হতে পারে। এমনকি নবজাতক, যদিও, অধিকাংশ ইতিমধ্যে হয় varchars, কিন্তু এটা varchar উপর কিছু (128) বলে মনে হয় চিকিত্সা হচ্ছে যদি এটি একটি lob ছিল (অগ্রিম বৈশিষ্ট্য এ, ডাটা টাইপ DT_NTEXT যায়)।

আমি ইভেন্টটি একটি ম্যানুয়াল এসকিউএল কমান্ড করার চেষ্টা করেছি যেখানে আমি স্পষ্টভাবে প্রতিটি স্ট্রিং টাইপকে বাছাই করে যথাযথ দৈর্ঘ্যের একটি ভারচারে সিলেক্ট স্টেটমেন্টে রেখেছি এবং সেগুলি এখনও ওডিবিসি উত্সে DT_NTEXT হিসাবে সেট করা আছে।

আমি ডিবিএ নই, সুতরাং এটি সম্পূর্ণ সম্ভব যে আমি সত্যিই বোকা কিছু করছি। আমি ঠিক তা নিশ্চিত করার সর্বোত্তম উপায়টি জানতে চাই যে প্রকারগুলি ভ্যাচারার হিসাবে শেষ হয় যাতে আমি ব্যাচ আনতে পারি। কোন ধারনা?

যদি এটি গুরুত্বপূর্ণ হয় তবে আমি ভিজুয়াল স্টুডিও 2013 এর মধ্যে এসএসআইএস-বিআই 2014 ব্যবহার করছি।


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

ওডিবিসি ডেটা সোর্স উপাদানটিতে, আপনার কাছে একটি সারণী নির্বাচন করার বা কোনও কোয়েরি ব্যবহার করার বিকল্প রয়েছে। এটিই আমি কাস্টিংয়ের কাজটি করছি: একটি কাস্টম ক্যোয়ারিতে। আমি varchar(max)কেবল শর্টহ্যান্ড হিসাবে উল্লেখ করেছি যে এসএসআইএসের উদ্দেশ্যে কলামের ডেটা সর্বাধিক বর্ণচক্র আকারের মধ্যে ফিট করতে পারে যা প্রায় 4000 এর কাছাকাছি, আমি মনে করি। আমি আসলে কিছুই castালছি না varchar(max); তবে, আমি varchar(4000)নিরাপদে থাকার জন্য কিছু কলাম কাস্ট করেছি ।
ক্রিস প্র্যাট

উত্তর:


4

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


3

স্পষ্টতই এটি কেবল এসটিআইএস-এ এনটিটিএসএল হিসাবে 128 এর চেয়ে বড় কোনও ভার্চরকে চিকিত্সা করে। নিশ্চিত কেন। আমি যাইহোক, ওডিবিসি উত্সের উন্নত বৈশিষ্ট্যগুলিতে যেতে পারি এবং প্রকারগুলিকে DT_WSTR এর মতো কিছুতে পরিবর্তন করতে পারি। যা বেশিরভাগ অংশের জন্য কাজ করে বলে মনে হচ্ছে।

যাইহোক, আমি নির্ধারণ করেছি যে আমি যে কয়েকটি টেবিলের সাথে প্রকৃতপক্ষে কাজ করছি তাদের কয়েকটি পাঠ্য কলামে 4000 বাইটের উপরের দিকে বহন করছে, সুতরাং দুর্ভাগ্যক্রমে কাটা প্রতিরোধের জন্য আমাকে এই কলমগুলি DT_NTEXT হিসাবে ছেড়ে যেতে হবে (এসএসআইএস হবেনা আপনি 4000 বাইটের বেশি দিয়ে একটি ডিT_ডাব্লুএসটিআর টাইপ সেট করেছেন)। আমি মনে করি এই উদাহরণগুলিতে, আমি কেবল সারি-সারি সারি আনতে আটকেছি, তবে কমপক্ষে আমি কয়েকটি টেবিল ঠিক করতে সক্ষম হয়েছি।


0

এই সমাধানটি আমার পক্ষে কাজ করেছে:

আমি ডেটাসোর্স সম্পত্তিটিতে ম্যাক্স ভার্চার প্যারামিটারটি পরিবর্তন করে ত্রুটিটি সরিয়েছি। সংযোগ ব্যবস্থাপক যান। সংযোগ স্ট্রিংয়ের পাশের বিল্ড বিকল্পটি নির্বাচন করুন। আরও বিকল্প অ্যাক্সেস করতে সংযোগ বোতামে ক্লিক করুন। সর্বোচ্চ বর্ণের মান পরিবর্তন করুন।

এখানে চিত্র বর্ণনা লিখুন


0

আমার ক্ষেত্রে উত্স ফাইলমেকার ওডিবিসি যা লম্বা পাঠ্যকেও এলওবি ডেটাটাইপ হিসাবে বিবেচনা করে। আমার প্যাকেজটি দীর্ঘ সময়ের জন্য স্তব্ধ হয়ে ব্যবহৃত রো এর মাধ্যমে রো-র প্রতি আনার পদ্ধতিতে পারফরম্যান্সের চূড়ান্ত হ্রাসের কারণে কার্যকর হয়েছে কারণ টেবিলটিতে LOB কলাম রয়েছে। সুতরাং, মোতায়েনের সময় এটি দীর্ঘ সময় পরে সময়সীমা ব্যবহার করত এবং অবশেষে ব্যর্থ হয়।

আমি প্রকৃত সমাধানটি ভাগ করে নিচ্ছি যা আমার জন্য কবজির মতো কাজ করেছিল। এক দিনের 30k এলওবি টাইপের ডেটা টান আমার জন্য প্রায় 10 মিনিট সময় নিয়েছিল ::

DefaultBufferMaxRows 1 কে নীচে নামিয়ে দিন এবং ডিফল্ট বাফারসাইজ সর্বোচ্চ 100 এমবি পর্যন্ত বাড়ান। তারপরে 'লম্বা বার্ষিকের মতো পাঠ্য হিসাবে বিবেচনা করুন' বিকল্পটি পরীক্ষা করে উত্স ওডিবিসি ডিএসএন পরিবর্তন করুন। উত্স থেকে লক্ষ্য হিসাবে ডেটাটাইপগুলি মানচিত্র করুন (উত্সে উন্নত সম্পাদকের কোনও পরিবর্তন ছাড়াই)।

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