Oracle PL/SQL এ JSON এবং XML ডেটা প্রক্রিয়াকরণ একটি গুরুত্বপূর্ণ এবং সাধারণ কাজ। PL/SQL এর মাধ্যমে আপনি JSON এবং XML ডেটা তৈরি, পার্স, এবং শেয়ার করতে পারেন। এটি REST API এর মাধ্যমে ডেটা প্রেরণ, ইনপুট গ্রহণ, এবং আরও অনেক কেসে ব্যবহৃত হয়। এই টিউটোরিয়ালে আমরা দেখব কিভাবে PL/SQL এর মাধ্যমে JSON এবং XML ডেটা শেয়ার করা যায়।
PL/SQL দিয়ে JSON ডেটা শেয়ার করা
Oracle 12c থেকে JSON সাপোর্ট শুরু হয়েছে, এবং আপনি PL/SQL এর মাধ্যমে JSON ডেটা তৈরি ও প্রক্রিয়া করতে পারবেন। Oracle JSON সাপোর্টের জন্য বিভিন্ন প্যাকেজ এবং ফাংশন সরবরাহ করে, যেমন JSON_OBJECT, JSON_ARRAY, JSON_OBJECT_T, এবং JSON_ARRAY_T।
JSON তৈরি করা:
PL/SQL এ JSON ডেটা তৈরি করতে JSON_OBJECT ফাংশন ব্যবহার করা হয়। নিচে একটি উদাহরণ দেওয়া হল, যেখানে একটি সিঙ্গেল JSON অবজেক্ট তৈরি করা হয়েছে:
DECLARE
v_json_obj JSON_OBJECT_T;
BEGIN
-- JSON অবজেক্ট তৈরি
v_json_obj := JSON_OBJECT('name' VALUE 'John Doe', 'age' VALUE 30, 'city' VALUE 'Dhaka');
-- JSON আউটপুট প্রিন্ট করা
DBMS_OUTPUT.PUT_LINE('Generated JSON: ' || v_json_obj.to_string);
END;
/
এখানে, একটি JSON_OBJECT_T টাইপের ভেরিয়েবল v_json_obj তৈরি করা হয়েছে, যা একটি JSON অবজেক্ট ধারণ করবে। এর মধ্যে name, age, এবং city নামক ফিল্ড রয়েছে। কোডটি JSON অবজেক্ট হিসেবে আউটপুট প্রদর্শন করবে:
Generated JSON: {"name":"John Doe","age":30,"city":"Dhaka"}
JSON ডেটা শেয়ার করা:
আপনি যদি এই JSON ডেটাকে REST API মাধ্যমে শেয়ার করতে চান, তবে আপনাকে Oracle REST Data Services (ORDS) ব্যবহার করতে হবে। ORDS JSON ডেটাকে HTTP response হিসেবে ফিরিয়ে দিতে পারে।
ORDS এর মাধ্যমে JSON শেয়ার করা উদাহরণ:
ORDS সেটআপ করার পর, নিচের মতো একটি API endpoint তৈরি করতে পারেন:
BEGIN
-- RESTful API এর মাধ্যমে JSON রিটার্ন করা
owa_util.http_header('Content-Type', 'application/json');
owa_util.http_header('Cache-Control', 'no-cache');
htp.p('{"status":"success","message":"Data shared successfully."}');
END;
/
এখানে, JSON ডেটা HTP.P কমান্ডের মাধ্যমে ক্লায়েন্টের কাছে পাঠানো হবে।
PL/SQL দিয়ে XML ডেটা শেয়ার করা
XML ডেটা প্রক্রিয়া করার জন্য Oracle একটি শক্তিশালী XML লাইব্রেরি সরবরাহ করে, যা দিয়ে আপনি XML তৈরি, পার্স, এবং শেয়ার করতে পারেন। আপনি DBMS_XMLGEN, DBMS_XMLDOM, এবং XMLTYPE প্যাকেজ ব্যবহার করতে পারেন।
XML তৈরি করা:
XML ডেটা তৈরি করতে XMLTYPE ব্যবহার করা হয়। নিচে একটি উদাহরণ দেওয়া হলো যেখানে একটি সিম্পল XML ডকুমেন্ট তৈরি করা হয়েছে:
DECLARE
v_xml XMLTYPE;
BEGIN
-- XML ডেটা তৈরি করা
v_xml := XMLTYPE('<person><name>John Doe</name><age>30</age><city>Dhaka</city></person>');
-- XML আউটপুট প্রিন্ট করা
DBMS_OUTPUT.PUT_LINE('Generated XML: ' || v_xml.getStringVal());
END;
/
এখানে, একটি XMLTYPE টাইপের ভেরিয়েবল v_xml তৈরি করা হয়েছে, এবং এটি একটি XML ডকুমেন্ট ধারণ করে। আউটপুট হবে:
Generated XML: <person><name>John Doe</name><age>30</age><city>Dhaka</city></person>
XML ডেটা শেয়ার করা:
XML ডেটা শেয়ার করার জন্যও আপনি ORDS ব্যবহার করতে পারেন, যেখানে XML ডেটা HTTP response হিসেবে পাঠানো হবে। নিচের উদাহরণে দেখা যাচ্ছে কিভাবে XML ডেটা ORDS API এর মাধ্যমে শেয়ার করা যায়:
BEGIN
-- XML ডেটা তৈরি করা
owa_util.http_header('Content-Type', 'application/xml');
owa_util.http_header('Cache-Control', 'no-cache');
htp.p('<?xml version="1.0" encoding="UTF-8"?>
<response>
<status>success</status>
<message>XML data shared successfully</message>
</response>');
END;
/
এখানে, XML ডেটা HTP.P কমান্ডের মাধ্যমে ক্লায়েন্টের কাছে পাঠানো হবে।
PL/SQL দিয়ে JSON এবং XML এর সমন্বয়:
আপনি একই PL/SQL ব্লক বা API endpoint এর মধ্যে JSON এবং XML উভয় ডেটা শেয়ার করতে পারেন। উদাহরণস্বরূপ:
DECLARE
v_json JSON_OBJECT_T;
v_xml XMLTYPE;
BEGIN
-- JSON তৈরি করা
v_json := JSON_OBJECT('name' VALUE 'John Doe', 'age' VALUE 30, 'city' VALUE 'Dhaka');
-- XML তৈরি করা
v_xml := XMLTYPE('<person><name>John Doe</name><age>30</age><city>Dhaka</city></person>');
-- JSON এবং XML শেয়ার করা
owa_util.http_header('Content-Type', 'application/json');
owa_util.http_header('Cache-Control', 'no-cache');
htp.p(v_json.to_string);
-- XML শেয়ার করা
owa_util.http_header('Content-Type', 'application/xml');
htp.p(v_xml.getStringVal);
END;
/
এখানে, প্রথমে JSON তৈরি করা হচ্ছে, পরে XML তৈরি করা হচ্ছে এবং উভয়ই আলাদা আলাদা হেডার দিয়ে HTTP response হিসেবে শেয়ার করা হচ্ছে।
সারাংশ
PL/SQL দিয়ে JSON এবং XML শেয়ার করার জন্য আপনি Oracle REST Data Services (ORDS), XMLTYPE, এবং JSON_OBJECT_T ব্যবহার করতে পারেন। JSON এবং XML ডেটা তৈরি, পাঠানো এবং শেয়ার করার জন্য Oracle এর অনেক শক্তিশালী ফিচার রয়েছে। আপনি JSON এবং XML ডেটা ব্যবহার করে RESTful API তৈরি করতে পারেন এবং এতে ডেটা শেয়ার করার জন্য সহজ ও দ্রুত সমাধান পাবেন।
Read more