मान लें कि डेटाबेस में पहले से ही MyData नाम की एक टेबल है जिसका विवरण निम्नलिखित है।
+---------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+--------------+------+-----+---------+-------+ | Name | varchar(255) | YES | | NULL | | | Article | longtext | YES | | NULL | | +---------+--------------+------+-----+---------+-------+
यदि आपको JDBC प्रोग्राम का उपयोग करके Clob डेटा टाइप में मान डालने की आवश्यकता है तो आपको उन मेथड का उपयोग करना होगा जो फाइल की सामग्री पढ़ते हैं और डेटाबेस पंक्तियों में सेट करते हैं। PreparedStatement इंटरफ़ेस ऐसे मेथड प्रदान करता है।
void setCharacterStream(int parameterIndex, Reader reader) मेथड Reader ऑब्जेक्ट की सामग्री को दिए गए इंडेक्स पर पैरामीटर के मान के रूप में सेट करता है। इस मेथड के अन्य वेरिएंट हैं:
void setCharacterStream(int parameterIndex, Reader reader, int length)
void setCharacterStream(int parameterIndex, Reader reader, long length)
void setClob(int parameterIndex, Clob x) मेथड दिए गए java.sql.Clob ऑब्जेक्ट को दिए गए इंडेक्स पर पैरामीटर के मान के रूप में सेट करता है। इस मेथड के अन्य वेरिएंट हैं:
void setClob(int parameterIndex, Reader reader)
void setClob(int parameterIndex, Reader reader, long length)
आप इनमें से किसी भी मेथड का उपयोग करके Clob डेटा टाइप में मान सेट कर सकते हैं।
उदाहरण
निम्नलिखित उदाहरण setClob() मेथड का उपयोग करके Clob डेटाटाइप के लिए मान सेट करता है।
import java.io.FileReader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; public class InsertingValueInClob { 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......"); // मान डालना String query = "INSERT INTO MyData(Name, Article ) VALUES (?, ?)"; PreparedStatement pstmt = con.prepareStatement(query); pstmt.setString(1, "JavaFX"); FileReader reader = new FileReader("E:\\images\\javafx.txt"); pstmt.setClob(2, reader); pstmt.execute(); System.out.println("Data inserted"); } }आउटपुट
Connection established...... Table Created...... Contents of the table are: JavaFX E:\images\MyData_clob_output1.txt
यदि आप MySQL Workbench का उपयोग करके रिकॉर्ड में Clob मान देखने का प्रयास करते हैं तो आप नीचे दिखाए अनुसार डाला गया टेक्स्ट डेटा देख सकते हैं:
