কম্পিউটার

কিভাবে আমরা JDBC ব্যবহার করে ডাটাবেস থেকে ফাইল পুনরুদ্ধার করতে পারি?


ফলাফল সেট ইন্টারফেস 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 নামে তিনটি নিবন্ধ সন্নিবেশিত করেছি যা নীচে দেখানো হয়েছে:

কিভাবে আমরা JDBC ব্যবহার করে ডাটাবেস থেকে ফাইল পুনরুদ্ধার করতে পারি?

উদাহরণ

নিম্নলিখিত প্রোগ্রামটি 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

  1. আমরা কিভাবে JDBC ব্যবহার করে MySQL ডাটাবেসে একটি ফাইল সন্নিবেশ/সঞ্চয় করব?

  2. মাইএসকিউএল-এর একটি ডাটাবেস থেকে টেবিলের নাম কীভাবে পুনরুদ্ধার করবেন?

  3. মাইএসকিউএল ডাটাবেসের অন্য টেবিল থেকে আইডি ব্যবহার করে ব্যবহারকারীর নাম কীভাবে পাবেন?

  4. আপনি কিভাবে JSP ব্যবহার করে একটি ফাইল আপলোড করতে পারেন?