| Author |
Using Clobs in SQLServer- Please help!
|
Glen D'cruz
Greenhorn
Joined: Apr 22, 2004
Posts: 15
|
|
/* CAN ANYONE PLEASE HELP ME OUT WITH THIS PROGRAM. PLEASE READ THE COMPLETE PROGRAM AND GIVE ME YOUR SUGESTIONS. THE DATABASE BEING USED IS MS SQLSERVER This program retreives the text file stored in the database installed by the previous program SaveToClob() (Not displayed in this snippet). The table created in the database consists of the following columns := static String SQLCommand = "CREATE Table DOCUMENTS(" + "MEMBERID INTEGER NOT NULL PRIMARY KEY, " + "TITLE VARCHAR(20) NOT NULL , " + "DOCUMENT TEXT NOT NULL " + ");"; Program SaveToClob sucessfully saved the following := values = 01, "GLENS_DOCUMENT", "EMPDOCUMENT" Note: "DOCUMENT" is stored as a text file. When I run the program retreiveFromClob (written below)to retreive the clob I get an error which ia as follows:= java.lang.UnsupportedOperationException at sun.jdbc.odbc.JdbcOdbcResultSet.getClob(JdbcOdbcResultSet.java:4287) at retreivefromclob.RetreiveFromClob.getFileFromClob(RetreiveFromClob.java:31) at retreivefromclob.RetreiveFromClob.main(RetreiveFromClob.java:60) Exception in thread "main" It seems to me that MS SQLServer the database I am using doesent support Clobs. If is the case is there any other way of retreiving a clob from this database or what is the alternate name for it. THANKS TO ALL. */ package retreivefromclob; import java.io.*; import java.sql.*; import javax.sql.*; public class RetreiveFromClob { public RetreiveFromClob() {} public byte[] getFileFromClob(int memberId) { String SQLQuery = "SELECT DOCUMENT FROM DOCUMENTS WHERE MEMBERID = ? "; Clob clob = null; String text = null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc dbc cruz"); PreparedStatement pstmt = con.prepareStatement(SQLQuery); pstmt.setInt(1, memberId); ResultSet rs = pstmt.executeQuery(); ResultSetMetaData md = rs.getMetaData(); while (rs.next()) { clob = rs.getClob("DOCUMENT"); // error identified } text = clob.getSubString(1, ( (int) clob.length())); con.close(); } catch (ClassNotFoundException clnfe) { clnfe.printStackTrace(); } catch (SQLException e) { System.out.print("Error:" + e.getMessage()); } byte[] bytes = null; if (text != null) { bytes = text.getBytes(); } return bytes; } public static void main(String[] args) { RetreiveFromClob retreiveFromClob1 = new RetreiveFromClob(); byte[] bytes = retreiveFromClob1.getFileFromClob(1); System.out.print(bytes.toString()); } }
|
 |
 |
|
|
subject: Using Clobs in SQLServer- Please help!
|
|
|