JDBC存取ORACLE大型數據對象LOB幾種情況的示範類

import Java.io.*;

import java.util.*;

import java.sql.*;

public class LobPros

{

/**

* Oracle驅動程序

*/

private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";

/**

* ORACLE連接用URL

*/

private static final String URL = "jdbc:oracle:thin:@test2000:1521:orac";

/**

* 用戶名

*/

private static final String USER = "user";

/**

* 密碼

*/

private static final String PASSWord = "pswd";

/**

* 數據庫連接

*/

private static Connection conn = null;

/**

* SQL語句對象

*/

private static Statement stmt = null;

/**

* @roseuid 3EDA089E02BC

*/

public LobPros()

{

}

/**

* 往數據庫中插入一個新的CLOB對象

*

* @param infile - 數據文件

* @throws java.lang.Exception

* @roseuid 3EDA04A902BC

*/

public static void clobInsert(String infile) throws Exception

{

/* 設定不自動提交 */

boolean defaultCommit = conn.getAutoCommit();

conn.setAutoCommit(false);

try {

/* 插入一個空的CLOB對象 */

stmt.executeUpdate("INSERT INTO TEST_CLOB VALUES ('111', EMPTY_CLOB())");

/* 查詢此CLOB對象並鎖定 */

ResultSet rs = stmt.executeQuery("SELECT CLOBCOL FROM TEST_CLOB WHERE ID='111' FOR UPDATE");

while (rs.next()) {

/* 取出此CLOB對象 */

oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob("CLOBCOL");

/* 向CLOB對象中寫入數據 */

BufferedWriter out = new BufferedWriter(clob.getCharacterOutputStream());

BufferedReader in = new BufferedReader(new FileReader(infile));

int c;

while ((c=in.read())!=-1) {

out.write(c);

}

in.close();

out.close();

}

/* 正式提交 */

conn.commit();

} catch (Exception ex) {

/* 出錯回滾 */

conn.rollback();

throw ex;

}

/* 恢複原提交狀態 */

conn.setAutoCommit(defaultCommit);

}

/**

* 修改CLOB對象(是在原CLOB對象基礎上進行覆蓋式的修改)

*

* @param infile - 數據文件

* @throws java.lang.Exception

* @roseuid 3EDA04B60367

*/

public static void clobModify(String infile) throws Exception

{

/* 設定不自動提交 */

boolean defaultCommit = conn.getAutoCommit();

conn.setAutoCommit(false);

try {

/* 查詢CLOB對象並鎖定 */

ResultSet rs = stmt.executeQuery("SELECT CLOBCOL FROM TEST_CLOB WHERE ID='111' FOR UPDATE");

while (rs.next()) {

/* 獲取此CLOB對象 */

oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob("CLOBCOL");

/* 進行覆蓋式修改 */

BufferedWriter out = new BufferedWriter(clob.getCharacterOutputStream());

BufferedReader in = new BufferedReader(new FileReader(infile));

int c;

while ((c=in.read())!

=-1) {

out.write(c);

}

in.close();

out.close();

}

/* 正式提交 */

conn.commit();

} catch (Exception ex) {

/* 出錯回滾 */

conn.rollback();

throw ex;

}

/* 恢複原提交狀態 */

conn.setAutoCommit(defaultCommit);

}

/**

* 替換CLOB對象(將原CLOB對象清除,換成一個全新的CLOB對象)

*

* @param infile - 數據文件

* @throws java.lang.Exception

* @roseuid 3EDA04BF01E1

*/

public static void clobReplace(String infile) throws Exception

{

/* 設定不自動提交 */

boolean defaultCommit = conn.getAutoCommit();

conn.setAutoCommit(false);

try {

/* 清空原CLOB對象 */

stmt.executeUpdate("UPDATE TEST_CLOB SET CLOBCOL=EMPTY_CLOB() WHERE ID='111'");

/* 查詢CLOB對象並鎖定 */

ResultSet rs = stmt.executeQuery("SELECT CLOBCOL FROM TEST_CLOB WHERE ID='111' FOR UPDATE");

while (rs.next()) {

/* 獲取此CLOB對象 */

oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob("CLOBCOL");

/* 更新數據 */

BufferedWriter out = new BufferedWriter(clob.getCharacterOutputStream());

BufferedReader in = new BufferedReader(new FileReader(infile));

int c;

while ((c=in.read())!=-1) {

out.write(c);

}

in.close();

out.close();

}

/* 正式提交 */

conn.commit();

} catch (Exception ex) {

/* 出錯回滾 */

conn.rollback();

throw ex;

}

/* 恢複原提交狀態 */

conn.setAutoCommit(defaultCommit);

}

/**

* CLOB對象讀取

*

* @param outfile - 輸出文件名

* @throws java.lang.Exception

* @roseuid 3EDA04D80116

*/

public static void clobRead(String outfile) throws Exception

{

/* 設定不自動提交 */

boolean defaultCommit = conn.getAutoCommit();

conn.setAutoCommit(false);

try {

/* 查詢CLOB對象 */

ResultSet rs = stmt.executeQuery("SELECT * FROM TEST_CLOB WHERE ID='111'");

while (rs.next()) {

/* 獲取CLOB對象 */

oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob("CLOBCOL");

/* 以字符形式輸出 */

BufferedReader in = new BufferedReader(clob.getCharacterStream());

BufferedWriter out = new BufferedWriter(new FileWriter(outfile));

int c;

while ((c=in.read())!=-1) {

out.write(c);

}

out.close();

in.close();

}

} catch (Exception ex) {

conn.rollback();

throw ex;

}

/* 恢複原提交狀態 */

conn.setAutoCommit(defaultCommit);

}

/**

* 向數據庫中插入一個新的BLOB對象

*

* @param infile - 數據文件

* @throws java.lang.Exception

* @roseuid 3EDA04E300F6

*/

public static void blobInsert(String infile) throws Exception

{

/* 設定不自動提交 */

boolean defaultCommit = conn.getAutoCommit();

conn.setAutoCommit(fal

JDBC存取ORACLE大型數據對象LOB幾種情況的示範類
  import Java.io.*;   import java.util.*;   import java.sql.*;     public class LobPros   {       /**     * Oracle驅動程序     */ ...查看完整版>>JDBC存取ORACLE大型數據對象LOB幾種情況的示範類
 
展示JDBC存取ORACLE大型數據對象LOB幾種情況的示範類
展示JDBC存取Oracle大型數據對象LOB幾種情況的示範類import Java.io.*;import java.util.*;import java.sql.*;public class LobPros{ /** * ORACLE驅動程序 */ private static final String DRIVER = ...查看完整版>>展示JDBC存取ORACLE大型數據對象LOB幾種情況的示範類
 
展示JDBC存取ORACLE大型數據對象LOB幾種情況的示範類
展示JDBC存取ORACLE大型數據對象LOB幾種情況的示範類import java.io.*;import java.util.*;import java.sql.*;public class LobPros{ /** * ORACLE驅動程序 */ private static final String DRIVER = ...查看完整版>>展示JDBC存取ORACLE大型數據對象LOB幾種情況的示範類
 
通過JDBC操縱Oracle數據庫LOB字段的幾種情況分析
   通過JDBC操縱Oracle數據庫LOB字段的幾種情況分析縱橫軟件制作中心 雨亦奇2003-6-10 15:14:19 在Oracle中,LOB(...查看完整版>>通過JDBC操縱Oracle數據庫LOB字段的幾種情況分析
 
通過JDBC操縱Oracle數據庫LOB字段的幾種情況分析
  通過JDBC操縱Oracle數據庫LOB字段的幾種情況分析縱橫軟件制作中心 雨亦奇2003-6-10 15:14:19                                                       ...查看完整版>>通過JDBC操縱Oracle數據庫LOB字段的幾種情況分析
 
通過JDBC操縱Oracle數據庫LOB字段的幾種情況分析
通過JDBC操縱Oracle數據庫LOB字段的幾種情況分析 通過JDBC操縱Oracle數據庫LOB字段的幾種情況分析 通過JDBC操縱Oracle數據庫LOB字段的幾種情況分析縱橫軟件制作中心 雨亦奇2003-6-10 15:14:19在Oracle中,LO...查看完整版>>通過JDBC操縱Oracle數據庫LOB字段的幾種情況分析
 
通過JDBC操縱Oracle數據庫LOB字段的幾種情況分析
在Oracle中,LOB(Large Object,大型對象)類型的字段現在用得越來越多了。因爲這種類型的字段,容量大(最多能容納4GB的數據),且一個表中可以有多個這種類型的字段,很靈活,適用于數據量非常大的業務領域(如圖...查看完整版>>通過JDBC操縱Oracle數據庫LOB字段的幾種情況分析
 
ORACLE大型數據對象LOB幾種情況的示範類
  import java.io.*;  import java.util.*;  import java.sql.*;  public class LobPros  {  /**  * ORACLE驅動程序  */  private static final String DRIVER = "oracle.jdbc.driver.OracleDrive...查看完整版>>ORACLE大型數據對象LOB幾種情況的示範類
 
ORACLE大型數據對象LOB幾種情況的示範類
  import Java.io.*;  import java.util.*;  import java.sql.*;  public class LobPros  {    /**  * Oracle驅動程序  */ ...查看完整版>>ORACLE大型數據對象LOB幾種情況的示範類
 
 
回到王朝網路移動版首頁