ফলাফল সেট ইন্টারফেস getClob() নামের পদ্ধতি প্রদান করে এবং getCharacterStream() ক্লব পুনরুদ্ধার করতে ডেটাটাইপ, যেখানে একটি ফাইলের বিষয়বস্তু সাধারণত সংরক্ষণ করা হয়।
এই পদ্ধতিগুলি কলামের সূচকের প্রতিনিধিত্বকারী একটি পূর্ণসংখ্যা গ্রহণ করে (বা, কলামের নামের প্রতিনিধিত্বকারী একটি স্ট্রিং মান) এবং নির্দিষ্ট কলামে মান পুনরুদ্ধার করে৷
পার্থক্য হল getClob() পদ্ধতি একটি Clob অবজেক্ট ফেরত দেয় এবং getCgaracterStream() পদ্ধতি একটি Reader অবজেক্ট প্রদান করে যা Clob ডেটাটাইপের বিষয়বস্তু ধারণ করে।
উদাহরণ
অনুমান করুন আমরা নিম্নলিখিত বিবরণ সহ ডাটাবেসে নিবন্ধ নামে একটি টেবিল তৈরি করেছি।
+---------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+--------------+------+-----+---------+-------+ | Name | varchar(255) | YES | | NULL | | | Article | longtext | YES | | NULL | | +---------+--------------+------+-----+---------+-------+
এবং, আমরা এতে নিবন্ধ 1, নিবন্ধ 2 এবং, নিবন্ধ 3 নামে তিনটি নিবন্ধ সন্নিবেশিত করেছি যা নীচে দেখানো হয়েছে:
উদাহরণ
নিম্নলিখিত প্রোগ্রামটি getString() এবং getClob() পদ্ধতি ব্যবহার করে সারণী নিবন্ধের বিষয়বস্তু পুনরুদ্ধার করে এবং নির্দিষ্ট ফাইলগুলিতে সংরক্ষণ করে।
import java.io.FileWriter; import java.io.Reader; import java.sql.Clob; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class RetrievingFileFromDatabase { public static void main(String args[]) throws Exception { //Registering the Driver DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //Getting the connection String mysqlUrl = "jdbc:mysql://localhost/sampleDB"; Connection con = DriverManager.getConnection(mysqlUrl, "root", "password"); System.out.println("Connection established......"); //Creating aStatement Statement stmt = con.createStatement(); //Retrieving the data ResultSet rs = stmt.executeQuery("select * from Articles"); int j = 0; System.out.println("Contents of the table are: "); while(rs.next()) { System.out.println(rs.getString("Name")); Clob clob = rs.getClob("Article"); Reader reader = clob.getCharacterStream(); String filePath = "E:\\Data\\clob_output"+j+".txt"; FileWriter writer = new FileWriter(filePath); int i; while ((i = reader.read())!=-1) { writer.write(i); } writer.close(); System.out.println(filePath); j++; } } }
আউটপুট
Connection established...... Contents of the table are: article1 E:\Data\clob_output0.txt article2 E:\Data\clob_output1.txt article3 E:\Data\clob_output2.txt