সঞ্চিত পদ্ধতি এবং এসকিউএলাইট তৈরি করছেন?


181

এসকিউএলাইট ব্যবহার করার পরে কোনও স্টোরেজ পদ্ধতি তৈরি করা কি কোনওভাবে সম্ভব?

উত্তর:


216

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

উত্স: এসকিউএলাইটের জন্য উপযুক্ত ব্যবহার


3
একই লক্ষ্য অর্জনের জন্য আপনি এসকিউএল সিএলআর ফাংশনগুলির এসকিউএলাইট সমতুল্য ব্যবহার করতে পারেন ( স্ট্যাকওভারফ্লো / প্রশ্ন / 172735/… )।
ডেভিনিস্ট

@ বোস্টআইটি যোগ করার জন্য ধন্যবাদ।
System.Data.SQLite

91

উত্তর : না

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

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


16
স্পষ্ট করার জন্য ... আমি বলছি না যে এসকিউএলিতে এসপি প্রয়োগ করার কোনও কারণ নেই - অন্যান্য ডিবি ইঞ্জিনের তুলনায় খুব কম কারণ।
টনি ওহাগান

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

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

3
@ ড্যান বেশিরভাগ এসকিউএল ইঞ্জিনগুলি ক্লায়েন্ট / সার্ভার (এসকিউএলাইট নয়!), আপনার ব্যবসায়ের যুক্তি কোথায় রাখবেন তা সিদ্ধান্ত নেওয়ার সময় পারফরম্যান্সই মূল সমস্যা a ব্যবসায়ের যুক্তি কার্যকর করা হোক বা এসকিউএল ইঞ্জিনের এসপির অভ্যন্তরীণ বা শর্তসাপেক্ষ কোড (1) ডেটা পুনরুদ্ধার কার্যকারিতা উন্নত করতে পারে, (2) নেটওয়ার্ক ট্রাফিক হ্রাস করতে পারে (3) অ্যাপ্লিকেশন স্তর স্তর মেমরির ব্যবহার হ্রাস করতে পারে (4) ক্যাশে ক্যোয়ারী এক্সিকিউশন প্ল্যানস (পূর্বনির্ধারিত) এসপি)। বেশিরভাগ অ্যাপ্লিকেশন বিকাশকারীরা এসকিউএল ইঞ্জিনের বাইরে তাদের ব্যবসায়ের কিছু যুক্তি সরিয়ে নিতে পছন্দ করেন (স্পষ্টতই অনুসন্ধানগুলি নয়!)। এসকিউএলাইটের জন্য এটি ক্লায়েন্ট / সার্ভারকে সমর্থন করে না বলে এটি খুব কম
টনি ও'হাগান

ধন্যবাদ, টনি আমি ভাবছিলাম কেন এসকিউএলাইটের পদ্ধতি নেই তবে বিল্টিন ফাংশনগুলি রয়েছে ( sqlite.org/lang_corefunc.html )? এটি কি সঠিক যে ক্লায়েন্ট-সার্ভার আরডিবিএমএস যেমন পোস্টগ্রেস্কল-এর জন্য, উভয় ফাংশন এবং পদ্ধতি সার্ভারের পাশেই সঞ্চিত থাকে? যেহেতু এসকিউএলাইট সার্ভারহীন, যদি এসকিউএলাইটের পদ্ধতি না থাকে, তবে একই কারণে, এরও কি কার্যকরী হওয়া উচিত নয়?
টিম

17

আপনি যদি এখনও আগ্রহী হন তবে ক্রিস ওল্ফ স্টকড প্রসেসরিজ সহ এসকিউএলাইটের একটি প্রোটোটাইপ বাস্তবায়ন করেছিলেন। আপনি তার ব্লগ পোস্টে বিশদটি পেতে পারেন: এসকিউএলাইটে সঞ্চিত প্রক্রিয়া যুক্ত করে


5
নিবন্ধটি এখন মারা গেছে, তবে প্রকল্পটি github.com/wolfch/sqlite-3.7.3.p1রয়েছে । রিডমি ফাইলটি বোঝায় যে এটি উত্পাদন প্রস্তুত নয়, এটি পরীক্ষার জন্যও নয়। দেখে মনে হচ্ছে এটি ধারণার প্রমাণ হিসাবে আরও বেশি।
pqsk

7

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

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