Oracle डेटाबेस में इमेज रखने के लिए आमतौर पर Blob टाइप का उपयोग किया जाता है। इसलिए, सुनिश्चित करें कि आपके पास Blob डेटाटाइप वाली टेबल बनी है:
Name Null? Type ----------------------------------------- -------- ---------------------------- NAME VARCHAR2(255) IMAGE BLOB
Oracle डेटाबेस में इमेज डालने के लिए, नीचे दिए गए चरणों का पालन करें:
चरण 1: डेटाबेस से कनेक्ट करें
आप DriverManager क्लास के getConnection() मेथड का उपयोग करके डेटाबेस से कनेक्ट कर सकते हैं।
Oracle URL जो jdbc:oracle:thin:@localhost:1521/xe है (एक्सप्रेस एडिशन के लिए), यूजरनाम और पासवर्ड को पैरामीटर के रूप में getConnection() मेथड में पास करके Oracle डेटाबेस से कनेक्ट करें।
String oracleUrl = "jdbc:oracle:thin:@localhost:1521/xe"; Connection con = DriverManager.getConnection(oracleUrl, "user_name", "password");
चरण 2: PreparedStatement बनाएं
Connection इंटरफ़ेस के prepareStatement() मेथड का उपयोग करके PreparedStatement ऑब्जेक्ट बनाएं। इस मेथड को पैरामीटर के रूप में INSERT क्वेरी (प्लेसहोल्डर के साथ) पास करें।
PreparedStatement pstmt = con.prepareStatement("INSERT INTO MyTable VALUES(?, ?)");चरण 3: प्लेसहोल्डर पर मान सेट करें
PreparedStatement इंटरफ़ेस के सेटर मेथड का उपयोग करके प्लेसहोल्डर पर मान सेट करें। कॉलम के डेटाटाइप के अनुसार मेथड चुनें। उदाहरण के लिए यदि कॉलम VARCHAR टाइप का है तो setString() मेथड का उपयोग करें और यदि यह INT टाइप का है तो आप setInt() मेथड का उपयोग कर सकते हैं।
और यदि यह Blob टाइप का है तो आप setBinaryStream() या setBlob() मेथड का उपयोग करके मान सेट कर सकते हैं। इन मेथड को पैरामीटर इंडेक्स को दर्शाने वाला एक पूर्णांक वेरिएबल और InputStream क्लास का ऑब्जेक्ट पैरामीटर के रूप में पास करें।
pstmt.setString(1, "sample image"); // Blob टाइप डालना InputStream in = new FileInputStream("E:\\images\\cat.jpg"); pstmt.setBlob(2, in);चरण 4: स्टेटमेंट निष्पादित करें
PreparedStatement इंटरफ़ेस के execute() मेथड का उपयोग करके उपरोक्त बनाए गए PreparedStatement ऑब्जेक्ट को निष्पादित करें।
उदाहरण
import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; public class InsertImageToOracleDB { public static void main(String args[]) throws Exception{ // ड्राइवर रजिस्टर करना DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver ()); // कनेक्शन प्राप्त करना String oracleUrl = "jdbc:oracle:thin:@localhost:1521/xe"; Connection con = DriverManager.getConnection(oracleUrl, "system", "password"); System.out.println("Connected to Oracle database....."); PreparedStatement pstmt = con.prepareStatement("INSERT INTO MyTable VALUES(?,?)"); pstmt.setString(1, "sample image"); // Blob टाइप डालना InputStream in = new FileInputStream("E:\\images\\cat.jpg"); pstmt.setBlob(2, in); // स्टेटमेंट निष्पादित करना pstmt.execute(); System.out.println("Record inserted"); } }आउटपुट
Connected to Oracle database..... Record inserted.....