COBOL-এ Embedded SQL এর মাধ্যমে ডেটাবেস অ্যাক্সেস
COBOL-এ Embedded SQL (SQL statements embedded in COBOL) ব্যবহার করে ডেটাবেসে সংযুক্তি, ডেটা পড়া, আপডেট, যোগ এবং মুছতে সাহায্য করে। Embedded SQL একটি প্রোগ্রামিং পদ্ধতি যা SQL কোডকে COBOL প্রোগ্রামের মধ্যে একত্রিত করে, যার মাধ্যমে COBOL-এ ডেটাবেস ম্যানিপুলেশন করা সম্ভব হয়। এটি ডেটাবেসের সাথে যোগাযোগ করার জন্য SQL ব্যবহারের সুবিধা প্রদান করে, যেখানে আপনি কোডের মধ্যে SQL কোড লিখে ডেটাবেস অপারেশন করতে পারেন।
Embedded SQL এর মৌলিক কাঠামো:
COBOL প্রোগ্রামের মধ্যে SQL স্টেটমেন্টগুলো একটি নির্দিষ্ট ব্লকে লেখা হয়, যা EXEC SQL ব্লকের মধ্যে থাকে। COBOL প্রোগ্রামে SQL কমান্ড চালাতে EXEC SQL এবং END-EXEC এর মধ্যে SQL কোড লেখা হয়।
Syntax:
EXEC SQL
SQL-STATEMENT
END-EXEC.এখানে:
SQL-STATEMENT: এটি SQL এর কোন কমান্ড যেমনSELECT,INSERT,UPDATE,DELETEইত্যাদি হতে পারে।
১. COBOL-এ SQL ডেটাবেস অ্যাক্সেস করার জন্য প্রস্তুতি
- SQL কোডে কনফিগারেশন: COBOL প্রোগ্রামে SQL কোড চালানোর জন্য, ডেটাবেস কানেক্টিভিটি প্রয়োজন। ডেটাবেস কানেকশন সেটআপ করা এবং SQL কোড এক্সিকিউট করা একটি গুরুত্বপূর্ণ অংশ।
- SQLCA (SQL Communication Area): SQL স্টেটমেন্টগুলো কার্যকর করার জন্য, SQLCA ব্যবহার করা হয়। এটি একটি বিশেষ COBOL রেকর্ড যা ডেটাবেস অপারেশনগুলোর অবস্থা এবং ফলাফল ট্র্যাক করে।
২. COBOL-এ Embedded SQL এর মাধ্যমে ডেটাবেস অ্যাক্সেসের উদাহরণ
উদাহরণ ১: SELECT স্টেটমেন্ট দিয়ে ডেটা পড়া
EXEC SQL
SELECT CUSTOMER_NAME
INTO :CUSTOMER-NAME
FROM CUSTOMER
WHERE CUSTOMER_ID = :CUSTOMER-ID
END-EXEC.ব্যাখ্যা:
- এই কোডে
SELECTস্টেটমেন্টটি ব্যবহার করা হয়েছে, যাCUSTOMERটেবিল থেকেCUSTOMER_NAMEকলামটি সিলেক্ট করবে এবং তা COBOL প্রোগ্রামেরCUSTOMER-NAMEভেরিয়েবলে ধারণ করবে। :CUSTOMER-IDহল প্রোগ্রাম থেকে পাওয়া ইনপুট, যা WHERE ক্লজের মধ্যে ডেটা সিলেক্ট করতে ব্যবহার করা হয়েছে।
উদাহরণ ২: INSERT স্টেটমেন্ট দিয়ে ডেটা ইনসার্ট করা
EXEC SQL
INSERT INTO CUSTOMER (CUSTOMER_ID, CUSTOMER_NAME)
VALUES (:CUSTOMER-ID, :CUSTOMER-NAME)
END-EXEC.ব্যাখ্যা:
- এখানে
INSERT INTOSQL স্টেটমেন্ট ব্যবহার করা হয়েছে, যাCUSTOMERটেবিলের মধ্যেCUSTOMER_IDএবংCUSTOMER_NAMEইনসার্ট করবে। COBOL ভেরিয়েবলগুলি (:CUSTOMER-ID,:CUSTOMER-NAME) ডেটাবেস টেবিলে ইনপুট হিসাবে ব্যবহৃত হবে।
উদাহরণ ৩: UPDATE স্টেটমেন্ট দিয়ে ডেটা আপডেট করা
EXEC SQL
UPDATE CUSTOMER
SET CUSTOMER_NAME = :NEW-CUSTOMER-NAME
WHERE CUSTOMER_ID = :CUSTOMER-ID
END-EXEC.ব্যাখ্যা:
UPDATEস্টেটমেন্টটি ব্যবহার করে, এই কোডেCUSTOMERটেবিলের একটি রেকর্ড আপডেট করা হচ্ছে। যেখানCUSTOMER_IDএর মান:CUSTOMER-IDএর সমান হবে, সেখানেCUSTOMER_NAMEআপডেট হবে।
উদাহরণ ৪: DELETE স্টেটমেন্ট দিয়ে ডেটা মুছে ফেলা
EXEC SQL
DELETE FROM CUSTOMER
WHERE CUSTOMER_ID = :CUSTOMER-ID
END-EXEC.ব্যাখ্যা:
DELETEস্টেটমেন্টটি ব্যবহার করেCUSTOMERটেবিল থেকে একটি নির্দিষ্টCUSTOMER_IDএর রেকর্ড মুছে ফেলা হচ্ছে।
৩. SQLCA (SQL Communication Area) ব্যবহার
COBOL-এ SQL স্টেটমেন্ট কার্যকর করার পর, SQLCA (SQL Communication Area) ডেটাবেস অপারেশনের ফলাফল ধারণ করে। এটি COBOL রেকর্ড যা SQL অপারেশনের অবস্থা এবং ত্রুটি কোড সরবরাহ করে।
SQLCA রেকর্ডের একটি উদাহরণ:
01 SQLCA.
05 SQLCODE PIC S9(9) COMP.
05 SQLERRM PIC X(70).- SQLCODE: এটি SQL অপারেশনের ফলাফল কোড ধারণ করে। যদি এটি
0হয়, তবে অপারেশন সফলভাবে সম্পন্ন হয়েছে। অন্যথায়, এটি ত্রুটি কোড ধারণ করে। - SQLERRM: এটি ত্রুটির একটি বার্তা ধারণ করে (যদি কোনও ত্রুটি ঘটে)।
উদাহরণ: SQLCA ব্যবহার করে ফলাফল চেক করা
EXEC SQL
SELECT CUSTOMER_NAME
INTO :CUSTOMER-NAME
FROM CUSTOMER
WHERE CUSTOMER_ID = :CUSTOMER-ID
END-EXEC.
IF SQLCODE = 0
DISPLAY 'Record found: ' CUSTOMER-NAME
ELSE
DISPLAY 'Error: ' SQLERRM
END-IF.ব্যাখ্যা:
SQLCODEচেক করা হচ্ছে যদি এটি0হয়, তাহলে এটি সফল অপারেশন, অন্যথায় ত্রুটির বার্তাSQLERRMপ্রদর্শিত হবে।
৪. COBOL-এ SQL স্টেটমেন্টের কিছু গুরুত্বপূর্ণ পয়েন্ট
- SQL প্রসেসর:
- COBOL-এ SQL স্টেটমেন্ট কার্যকর করার জন্য একটি SQL প্রসেসর প্রয়োজন, যা ডেটাবেস সার্ভার বা সিস্টেমের সাথে সংযুক্ত থাকে।
- SQL স্টেটমেন্ট এর সাথে ডেটাবেস কানেক্টিভিটি:
- Embedded SQL কাজ করার জন্য ডেটাবেসের সাথে সঠিক কানেক্টিভিটি এবং কনফিগারেশন প্রয়োজন।
- COBOL প্রোগ্রাম এবং SQL কোডের বিভাজন:
- SQL স্টেটমেন্টগুলি সাধারণত
EXEC SQLএবংEND-EXECব্লকের মধ্যে লিখতে হয়, যাতে COBOL এবং SQL কোডের মধ্যে বিভাজন সঠিক থাকে।
- SQL স্টেটমেন্টগুলি সাধারণত
- SQLCA এবং ত্রুটি পরিচালনা:
- SQL অপারেশনগুলো সাধারণত SQLCA রেকর্ডের মাধ্যমে ফলাফল জানানো হয় এবং ত্রুটি হ্যান্ডলিং সঠিকভাবে করা হয়।
সারসংক্ষেপ
- Embedded SQL COBOL-এ ডেটাবেসের সাথে যোগাযোগ করার জন্য ব্যবহৃত হয়।
EXEC SQLএবংEND-EXECস্টেটমেন্টের মধ্যে SQL কোড লিখে ডেটাবেসের উপর বিভিন্ন অপারেশন করা যায়।- SQLCA রেকর্ড ডেটাবেস অপারেশনের ফলাফল এবং ত্রুটি সনাক্ত করতে সহায়ক।
- SELECT, INSERT, UPDATE, এবং DELETE স্টেটমেন্টগুলি Embedded SQL-এ ডেটাবেস ম্যানিপুলেশনের জন্য ব্যবহৃত হয়।
Embedded SQL-এর মাধ্যমে COBOL প্রোগ্রামে ডেটাবেস অ্যাক্সেস করা প্রোগ্রামারদের জন্য দ্রুত এবং দক্ষ ডেটাবেস পরিচালনার সুবিধা প্রদান করে।
Read more