Farzad Akbarnejad
asked on
Insert a clob data into database.
Hello,
I have a <b>empty</b> table with some fields that one of them has Clob type in Oracle.
How can I insert a new row in it and fill its clob type field with a given string?
I must prepare a clob object and fill my given string to it. But I couldn't create clob object.
Thanks
-FA
I have a <b>empty</b> table with some fields that one of them has Clob type in Oracle.
How can I insert a new row in it and fill its clob type field with a given string?
I must prepare a clob object and fill my given string to it. But I couldn't create clob object.
Thanks
-FA
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
redpip,
Using your code for me reason is hard because I want to fill data of some oracle tables from SQL Server tables with same name and data types. I want to fill club fields with text type in sql server.
I used kannan_ekanath solution but the object's link is great so I split points between you.
-FA
Using your code for me reason is hard because I want to fill data of some oracle tables from SQL Server tables with same name and data types. I want to fill club fields with text type in sql server.
I used kannan_ekanath solution but the object's link is great so I split points between you.
-FA
public void SetClob(String msg) throws Exception {
Connection conn = null;
String sqlTekst = null;
Statement stmt1 = null;
Statement stmt2 = null;
ResultSet rs = null;
Clob msgClob = null;
try{
sqlTekst = "INSERT INTO myTable (col_id, myClobColumn) VALUES (1, EMPTY_CLOB())";
stmt1 = conn.createStatement(sqlTe
numRows = stmt1.executeUpdate(sqlTek
sqlTekst = "SELECT myClobColumn FROM myTable WHERE col_id = 1 FOR UPDATE";
stmt2 = conn.createStatement();
rs = stmt2.executeQuery(sqlTeks
while (rs.next()) {
msgClob = rs.getClob("myClobColumn")
}
java.io.Writer wrXml = ((weblogic.jdbc.common.Ora
char[] xmlChars = msg.toCharArray();
wrXml.write(xmlChars);
wrXml.flush();
wrXml.close();
private String GetClob(){
Connection conn = null;
String sqlTekst = null;
Statement stmt = null;
ResultSet rs = null;
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT myClobColumn FROM myTable");
if(rs.next()){
// Retrieve the value of the designated column as a Clob object
java.sql.Clob msgClob = rs.getClob("myClobColumn")
// Holds the Clob data when the Clob stream is being read
StringBuffer sb = new StringBuffer();
// Open a stream to read Clob data
java.io.Reader clobStream = msgClob.getCharacterStream
// Read from the Clob stream and write to the stringbuffer
int numChars = 0;
// Buffer holding characters being transferred
char[] buffer = new char[10];
while((numChars = clobStream.read(buffer)) != -1){ // Read from Clob
sb.append(buffer, 0, numChars); // Write to StringBuffer
}
clobStream.close(); // Close the Clob input stream
return sb.toString();
} else {
return null;
}
}