Solved

How to insert values for BLOB, CLOB ..etc?

Posted on 2011-03-24
7
899 Views
Last Modified: 2012-05-11
How to insert/update values for BLOB, CLOB ..etc
also need to know the usage for blob/clob,
need more examples for this.
How to check characters inside blob?
0
Comment
Question by:sakthikumar
  • 3
  • 2
  • 2
7 Comments
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 35206098
Insert them from what tool/language/???

You will need to convert the BLOB back into a clob to check for strings/characters.
0
 

Expert Comment

by:BSSForests
ID: 35208135
The following code is how I update a file into a Oracle Blob using Java:
As for insert a new blob, you need insert a new record, blob field with value "empty_blob()", then update this blob field using code below.


import oracle.sql.BLOB;


            //
            // update the contents of the file into the blob.
            //
            // Note: We must use ORACLE specific classes to do this for now (not
            // supported by JDBC).
            // Select the blob for update (locking it).
            //
            File file = new File(tmpPdf);
            if (file != null && file.exists() && file.canRead()) { // Select the blob for update (locking it).
                        String query = "select blob_field from table_name where id = 3" + " for update";
                  //System.out.println("query = " + query);
                  Connection conn =
                        ((JDBCDataObjectManager) objectMgr).getConnection();
                  //Get data connection using your way.

                  Statement stmt = conn.createStatement();
                  FileInputStream fis = new FileInputStream(file);
                  InputStream in = new BufferedInputStream(fis);
                  OutputStream out = null;
                  try {
                        ResultSet result = stmt.executeQuery(query);
                        if (result.next()) { //
                              // Use ORACLE specific classes to get the blob output stream.
                              //
                              oracle.sql.BLOB blob = (oracle.sql.BLOB) result.getBlob(1);
                              out =
                                    new BufferedOutputStream(blob.getBinaryOutputStream());
                              byte[] buf = new byte[blob.getBufferSize()];
                              int len;
                              while ((len = in.read(buf)) != -1) {
                                    out.write(buf, 0, len);
                              }
                              out.flush();
                        }
                  } finally {
                        in.close();
                        if (out != null) {
                              out.close();
                        }
                        stmt.close();
                  }
            
                  file.delete();
            }
0
 

Expert Comment

by:BSSForests
ID: 35208148
Replace the query with your own,

 String query = "select blob_field from table_name where id = 3"
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 

Author Comment

by:sakthikumar
ID: 35348117
Inserting from oracle plsql?
0
 

Author Comment

by:sakthikumar
ID: 35348132
normally we have a table in oracle, which has a clob column, when we are inserting the data by
writing a procedure, how do we insert a value for a clob column.
0
 
LVL 76

Accepted Solution

by:
slightwv (䄆 Netminder) earned 500 total points
ID: 35348141
You originally asked several questions in the original post.  Then the followup post didn't add much information.

Inserting LOBS from pl/sql is easy.  The online docs have many examples.

If the LOB is on the database server it's a simple dbms_lob.loadClobfrom file or dbms_lob.loadBlobfromfile

If the LOB is coming from some app and passed to a stored procedure as input, still easy.  Just declare the input parameter as a clob or blob.

For searching a blob, need $ore about the requirements.  You might be able to index them with Oracle Text and search for 'strings'. But I need to know the complete requirements.
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 35348152
I was typing when you posted the second post:  Clob or blob? Two different requirements.

Inserting to a clob is simple:

Insert into clob_column values('hello');
 
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Background In several of the companies I have worked for, I noticed that corporate reporting is off loaded from the production database and done mainly on a clone database which needs to be kept up to date daily by various means, be it a logical…
Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
This video shows how to copy a database user from one database to another user DBMS_METADATA.  It also shows how to copy a user's permissions and discusses password hash differences between Oracle 10g and 11g.
This video shows how to recover a database from a user managed backup

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question