এসএসআইএস জোর করে এক্সেল উত্সের স্ট্রিংটিকে ভাসতে রাখে


9

এক্সেলে এমন একটি কলাম রয়েছে যা পাঠ্য বলে মনে করা হয়, তবে এসএসআইএস সেখানে সংখ্যার পাঠ্যটি দেখে এবং স্বয়ংক্রিয়ভাবে এটিকে ডাবল-স্পষ্টতা ভাসা করে তোলে [DT_R8]।

আমি আউটপুট শাখার বহিরাগত এবং আউটপুট কলামগুলিতে এটি ম্যানুয়ালি পরিবর্তন করতে পারি তবে ত্রুটি আউটপুট কেবল আমাকে সম্পর্কিত কলামটি পরিবর্তন করতে অস্বীকার করে।

Error at Extract Stations [Excel Source [1]]: The data type for "output "Excel Source Error Output" (10)" cannot be modified in the error "output column "Group No" (29)".
Error at Extract Stations [Excel Source [1]]: Failed to set property "DataType" on "output column "Group No" (29)".

আমি প্যাকেজ xML পরিবর্তন করার চেষ্টা করেছি। আমি চেষ্টা IMEX=1এবং typeguessrow=0কিন্তু যে কেউ আমার সমস্যা সংশোধন করা হয়েছে। এর কি আদৌ কোনও সমাধান আছে? এমন নিবন্ধগুলিও রয়েছে যা আপনি আপনার রেজিস্ট্রি পরিবর্তন করতে পরামর্শ দিচ্ছেন যাতে এক্সেল আরও বেশি পড়তে পারে তবে ডেটা টাইপ অনুমান করার আগে ডিফল্ট 8 টি সারি। আমি এই রুটে যেতে চাই না কারণ এটি কাজ করার পরেও আমাকে প্যাকেজটি চালানোর পরিকল্পনা করে এমন মেশিনে রেজিস্ট্রিটি পরিবর্তন করতে হবে।

এসকিউএল এনভারচার ক্ষেত্রটিতে আমদানি করা এক্সেল ক্ষেত্রটি উদাহরণস্বরূপ পড়ে reads

295.3
296.33

তবে সেগুলি এসকিউএল টেবিলে লেখা হচ্ছে

295.30000000000001
296.32999999999998

আমি ডেটাভিউয়ার্স এবং ফিল্ডস শো রেখেছি

295.3
296.33

মৃত্যুদন্ড কার্যকর করার জন্য সমস্ত উপায় যা সঠিক তবে আমার ধারণা এটি যখন OLE DB গন্তব্য উত্সকে আঘাত করে তখন এটি কোনওভাবে এটিকে রূপান্তরিত করে

295.30000000000001
296.32999999999998

যা ভুল।

আমার কাছে উদাহরণস্বরূপ V321.1 এবং V213.34 এর মতো মানও রয়েছে যা নিশ্চিতভাবে পূর্ণসংখ্যার নয় এবং ভার্চার হিসাবে সংরক্ষণের প্রয়োজন।


মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
পল হোয়াইট 9

উত্তর:


2

টেক্সট ফাইলের মতো আমদানি করা যায় এবং এই সমস্যাটি না থাকায় কোন .csv ফাইল হিসাবে ফাইলটি পাওয়া সম্ভব? আমি সাধারণত সমস্ত এক্সেল ফাইলগুলিকে পিছনে ফেলে অন্য ফর্ম্যাটটির জন্য জিজ্ঞাসা করি কারণ এসএসআইএস এবং এক্সেল অনেক স্তরে একসাথে ভাল খেল না।


1
আমি .csv বা txt ফাইলটিতে পরিবর্তনটি নিকট ভবিষ্যতে আশা করছি। জিনিসগুলিকে অনেক সহজ করে তুলবে।
জুয়ান ভেলিজ

2

এটি এই সমস্যার সমাধানের কোনও উপায় নেই বলে মনে হচ্ছে। এক্সেল কলামে প্রথম কয়েকটি সারি ডেটা দেখায় এবং সর্বদা ডেটাটাইপকে ফোর্স করে রাখবে যাই হোক না কেন। আমাকে প্রথম কয়েকটি সারিতে কয়েকটি ভারচার অক্ষর (8+) দিয়ে একটি টেম্পলেট তৈরি করার একটি সমাধান দেওয়া হয়েছিল যাতে এক্সেল এটিকে ডেটা টাইপ হিসাবে বেছে নেবে এবং তারপরে আমার ডেটা আমদানি করবে। যে বিষয়টি সাহায্য করেছে তা হ'ল যেহেতু আমি সোর্স সেফ ব্যবহার করছি আমি কোনও ফাইল "চেক ইন" করতে সক্ষম হলাম যাতে এটি আমার প্যাকেজ ফাইলটিকে "কেবল পঠনযোগ্য" করে তোলে যাতে ভিজুয়াল স্টুডিও আমার পূর্বনির্ধারিত ডেটা ধরণের পরিবর্তন করতে না পারে।


1

পদক্ষেপ 1: IMEX=1; MAXROWSTOSCAN=0সংযোগের স্ট্রিংয়ে যুক্ত করুন (উদাঃ Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Source\filename.xlsx;Extended Properties="EXCEL 12.0 XML;HDR=YES;IMEX=1; MAXROWSTOSCAN=0")।

পদক্ষেপ 2: সমাধানটি বন্ধ করুন। পাঠ্য সম্পাদকটিতে এসএসআইএস প্যাকেজটি খুলুন, কলামগুলি পূর্বনির্ধারিত ডেটা ধরণে ফিরে যেতে থাকে তা সন্ধান করুন। এটি XML ফাইলটিতে ম্যানুয়ালি পছন্দসই বিন্যাসে আপডেট করুন।

পদক্ষেপ 3: এসকিউএল সার্ভার ডেটা সরঞ্জামে প্যাকেজটি খুলুন এবং কার্যকর করুন, এখন আপনার ফাইলটি যেমন ডেটা লোড করতে সক্ষম হওয়া উচিত।


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