কম্পিউটার টিউটোরিয়াল

JDBC ব্যবহার করে ডেটাবেস থেকে ফাইল কীভাবে বের করবেন?


ResultSet ইন্টারফেস getClob() এবং getCharacterStream() মেথড দিয়ে থাকে Clob ডেটা টাইপ বের করার জন্য, যেখানে সাধারণত ফাইলের কনটেন্ট সংরক্ষিত থাকে।

এই মেথডগুলো একটি ইন্টিজার (কলাম ইনডেক্স) বা একটি স্ট্রিং (কলাম নাম) গ্রহণ করে এবং নির্দিষ্ট কলামের মান বের করে। পার্থক্য হলো getClob() মেথড একটি Clob অবজেক্ট রিটার্ন করে এবং getCharacterStream() মেথড একটি Reader অবজেক্ট রিটার্ন করে যেটিতে Clob ডেটা টাইপের কনটেন্ট থাকে।

উদাহরণ

ধরি Articles নামক একটি টেবিল আছে নিচের বিবরণের সাথে:

+---------+--------------+------+-----+---------+-------+ 
| Field   | Type         | Null | Key | Default | Extra | 
+---------+--------------+------+-----+---------+-------+ 
| Name    | varchar(255) | YES  |     | NULL    |       | 
| Article | longtext     | YES  |     | NULL    |       | 
+---------+--------------+------+-----+---------+-------+

এবং এতে তিনটি আর্টিকেল ইনসার্ট করা হয়েছে: article 1, article 2, article 3।

JDBC ব্যবহার করে ডেটাবেস থেকে ফাইল কীভাবে বের করবেন?

উদাহরণ

নিচের প্রোগ্রাম Articles টেবিলের কনটেন্ট 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 { 
        // ড্রাইভার রেজিস্টার 
        DriverManager.registerDriver(new com.mysql.jdbc.Driver()); 
        // কানেকশন 
        String mysqlUrl = "jdbc:mysql://localhost/sampleDB"; 
        Connection con = DriverManager.getConnection(mysqlUrl, "root", "password"); 
        System.out.println("Connection established......"); 
        // Statement তৈরি 
        Statement stmt = con.createStatement(); 
        // ডেটা বের করা 
        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. MySQL-এ SHOW TABLES ব্যবহার করে ডাটাবেসের সব টেবিল নাম দেখুন

  3. MySQL-এ JOIN ব্যবহার করে অন্য টেবিল থেকে ID দিয়ে Username বের করা

  4. JSP-এ ফাইল আপলোড করার পদ্ধতি