আরকিজিআইএস সরঞ্জামগুলির মাধ্যমে এসকিউএল এর ভাষা কতটা অ্যাক্সেসযোগ্য?


10

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

আরকজিআইএস-এ এসকিউএল ব্যবহার করার চেষ্টা করার সময় সবচেয়ে বড় সীমাবদ্ধতা এবং সমস্যাগুলি কীসের মধ্যে পড়তে পারে? এসকিউএল এর সাথে সংহত করার সময় কোন সরঞ্জামগুলি সর্বোত্তম কার্যকারিতা দেখে?

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

অথবা এটা?


কোয়েরি টেবিলগুলির কোনও সংস্করণ করা আছে?
মাইকেল টড

Versioned? আমি মনে করি না আমি এই শব্দটির সাথে পরিচিত।
নাথানাস

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

উত্তর:


9

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


আমি অবশ্যই এটি করব! এই প্রসঙ্গে, আমি ঠিক যা খুঁজছিলাম তার মতো মনে হচ্ছে। অনেক ধন্যবাদ.
নাথানাস

5

কাস্টম ArcObjects লেখা হয়, আপনি ব্যবহার করে একটি SDE কর্মস্থান বিরুদ্ধে নির্বিচারে এসকিউএল নির্বাহ করতে পারেন ExecuteSQL পদ্ধতি। এই পদ্ধতিটি এমন প্রশ্নের মধ্যে সীমাবদ্ধ যা ফলাফল সেটগুলি ফেরত দেয় না, যেমন INSERT, UPDATE, বা কিছু সঞ্চিত প্রক্রিয়া।

আপনি যদি আর্কম্যাপ ইউআইয়ের মাধ্যমে কাজ করছেন তবে আপনার বিকল্পগুলি কিছুটা সীমিত। আপনি গণনা ক্ষেত্রের মাধ্যমে এসকিউএল ব্যবহার করতে পারবেন না তার কারণ হ'ল অভিব্যক্তিটি আসলে ভিবিএস স্ক্রিপ্ট এবং / বা পাইথন। আপনি একটি স্বেচ্ছাসেবক এসকিউএল এক্সপ্রেশন কার্যকর করতে এবং ফলস্বরূপ কার্সর থেকে মানগুলি টানতে VBScript বা পাইথন ব্যবহার করতে পারেন, তবে আমি এটির প্রস্তাব দেব না।

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

আপনার শেষ বিকল্পটি হ'ল আরকিএসডিই টেবিলের বিরুদ্ধে সরাসরি এসকিউএল চালানো।


1
আপনার শেষ পয়েন্ট (সরাসরি টেবিলগুলির বিপরীতে এসকিউএল চালানো) কেন আমি আমার সংস্করণ প্রশ্ন জিজ্ঞাসা করেছি। ডাটাবেস স্তরে একটি এসকিউএল ক্যোয়ারী কেবলমাত্র বেস স্তরটি থেকে টান দেয় (যদি না কেউ একটি মাল্টিভিশনযুক্ত দৃশ্যের সেট আপ করে) তবে স্তরটি যদি সংস্করণ করা হয় তবে এটি কাজ করবে না।
মাইকেল টড

আমি যে কাজটি করছি তা বেশিরভাগ পাইথনে, তবে এটি আরও এবং বেশি মনে হয় যে ইউআইয়ের আসল কার্যকারিতা আর্কওবজেক্টসের উপর নির্ভর করে।
নাথানাস

পাইথনের কার্যকারিতা সহ সবকিছুই অভ্যন্তরীণভাবে আরকোবজেক্টসে নির্মিত।
জেমস শেক

পাইথনের আরকএসডিএসকিউএলএকসেক্সিউট যদি ফলাফলগুলি দেখতে পারে তবে আইওয়ার্কস্পেস.এক্সেক্টিউটএসকিউএল এর মাধ্যমে কীভাবে এটি অর্জন করা যায়?
পেটর ক্রেবস

@ প্রীতি আপনি সরাসরি পারবেন না ... আমি আমার উত্তর আপডেট করেছি।
জেমস শেক


1

আপনি কোন আরডিবিএমএস ব্যবহার করছেন তার উপর নির্ভর করে আপনি আরকিওবজেক্টস বা আরকিপির বাইরে এসকিউএল লাইব্রেরিগুলি লাভ করতে পারবেন, যতক্ষণ আপনি ফিচারের ডেটা ফিরে পাওয়ার উপর নির্ভর করে না। আমি প্রতিদিন যে এসকিউএল সার্ভার ডাটাবেসে ব্যবহার করি সেগুলির অনেকগুলি প্রশ্ন প্রকৃতির নয়, তাই আমি .NET এর ভিতরে সিস্টেম.ডাটা ক্লাস বা পাইথন অ্যাপ্লিকেশনগুলির অভ্যন্তরে পাইমসকিএল পাইথন লাইব্রেরি ব্যবহার করব। আপনার যদি স্থানিক ডেটা ব্যবহারের প্রয়োজন হয় তবে কোয়েরি স্তরগুলি আপনার সেরা বাজি। ক্যুরিয়ার স্তরগুলির সাথে একমাত্র সতর্কতা হ'ল তারা কেবল স্থানিক ডেটা ধরণের (স্ট্যান্ডার্ড SDEBINARY ধরণের নয়) ব্যবহার করে সঞ্চিত ডেটা দিয়ে কাজ করে।


এটি তীব্র হতে শুরু করে। আমার ধারণা আমার আরও যত্ন সহকারে আমার প্রয়োজনগুলি মূল্যায়ন করা দরকার। আমার কাছে "স্থানিক" ডেটার দরকার হবে না, যদি এর মাধ্যমে আপনি বহুভুজ এবং পয়েন্ট / লাইনগুলির মতো জিনিসগুলি নিজেরাই বোঝাতে চান তবে কেবল পাঠ্য / পূর্ণসংখ্যার ক্ষেত্রে মূল্যবোধ করেন।
নাথানাস

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