新增流数据:
public void addStreamData(String fin, String fout, int logId) throws PMSException{
String SQL_ADD = " INSERT INTO MIS_STREAMDATA(STREAMDATA_ID, MAIN_CONTENT, LOG_ID, STREAM_IN, STREAM_OUT) "
+ " VALUES(?, ?, ?, empty_blob(), empty_blob()) ";
String SQL_UPDATE = " SELECT t.STREAM_IN,t.STREAM_OUT FROM MIS_STREAMDATA t WHERE t.STREAMDATA_ID = ? FOR UPDATE ";
ConnUtil connUtil = ConnUtil.getInstance();
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
int id = InfIDFactory.createId();
try {
//1、新增一条记录,不保存流数据
conn = connUtil.getConnection();
[color=red]conn.setAutoCommit(false);[/color]特别注意不要漏掉这个语句,否则会出错!
ps = conn.prepareStatement(SQL_ADD);
ps.setInt(1, id);
ps.setString(2, "");//先让主要内容为空
ps.setInt(3, logId);
ps.execute();
ps.close();
[color=blue]conn.commit();//提交
connUtil.closeConn(conn, ps, rs);//[/color]关闭连接
//2、把流数据更新进数据库中
conn = connUtil.getConnection();
[color=red]conn.setAutoCommit(false);[/color] ps = conn.prepareStatement(SQL_UPDATE);
ps.setInt(1, id);
rs = ps.executeQuery();
if(rs!= null && rs.next()){
/*
* 1、处理输入MIS流BLOB对象
*/
if(fin != null && !fin.equals("")){
BLOB blobIn = ((OracleResultSet)rs).getBLOB("STREAM_IN"); // 得到输入MIS流BLOB对象
OutputStream out = blobIn.getBinaryOutputStream(); // 建立输出流
System.out.println("返回的数据如下in:");
System.out.println(fin);
int len = fin.getBytes().length;
out.write(fin.getBytes(), 0, len);
out.close();
}
/*
* 2、处理MIS输出流BLOB对象
*/
if(fout != null && !fout.equals("")){
BLOB blobOut = ((OracleResultSet)rs).getBLOB("STREAM_OUT"); // 得到输入MIS流BLOB对象
OutputStream out = blobOut.getBinaryOutputStream(); // 建立输出流
System.out.println("返回的数据如下out:");
System.out.println(fout);
int len = fout.getBytes().length;
out.write(fout.getBytes(), 0, len);
out.close();
}
}
conn.commit();
} catch(Exception ex){
try{
conn.rollback();
deleteByStreamDataId(id, conn);
} catch(SQLException sqle){
String message = "更新接口服务器数据库异常!";
throw new PMSException(message, sqle);
}
String message = "更新接口服务器数据库异常!";
throw new PMSException(message, ex);
} finally {
connUtil.closeConn(conn, ps, rs);
}
}
修改流数据:
public void updateStreamData(String fin, String fout, int streamDataId) throws PMSException{
String SQL_UPDATE = " SELECT t.STREAM_IN,t.STREAM_OUT FROM MIS_STREAMDATA t WHERE t.STREAMDATA_ID = ? FOR UPDATE ";
ConnUtil connUtil = ConnUtil.getInstance();
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
//1、把流数据更新进数据库中
conn = connUtil.getConnection();
[color=red]conn.setAutoCommit(false);[/color] ps = conn.prepareStatement(SQL_UPDATE);
ps.setInt(1, streamDataId);
rs = ps.executeQuery();
if(rs!= null && rs.next()){
/*
* 1、处理输入MIS流BLOB对象
*/
if(fin != null && !fin.equals("")){
BLOB blobIn = ((OracleResultSet)rs).getBLOB("STREAM_IN"); // 得到输入MIS流BLOB对象
OutputStream out = blobIn.getBinaryOutputStream(); // 建立输出流
System.out.println("返回的数据如下in:");
System.out.println(fin);
int len = fin.getBytes().length;
out.write(fin.getBytes(), 0, len);
out.close();
}
/*
* 2、处理MIS输出流BLOB对象
*/
if(fout != null && !fout.equals("")){
BLOB blobOut = ((OracleResultSet)rs).getBLOB("STREAM_OUT"); // 得到输入MIS流BLOB对象
OutputStream out = blobOut.getBinaryOutputStream(); // 建立输出流
System.out.println("返回的数据如下out:");
System.out.println(fout);
int len = fout.getBytes().length;
out.write(fout.getBytes(), 0, len);
out.close();
}
}
conn.commit();
} catch(Exception ex){
try{
conn.rollback();
} catch(SQLException sqle){
String message = "更新接口服务器数据库异常!";
throw new PMSException(message, sqle);
}
String message = "更新接口服务器数据库异常!";
throw new PMSException(message, ex);
} finally {
connUtil.closeConn(conn, ps, rs);
}
}
public void addStreamData(String fin, String fout, int logId) throws PMSException{
String SQL_ADD = " INSERT INTO MIS_STREAMDATA(STREAMDATA_ID, MAIN_CONTENT, LOG_ID, STREAM_IN, STREAM_OUT) "
+ " VALUES(?, ?, ?, empty_blob(), empty_blob()) ";
String SQL_UPDATE = " SELECT t.STREAM_IN,t.STREAM_OUT FROM MIS_STREAMDATA t WHERE t.STREAMDATA_ID = ? FOR UPDATE ";
ConnUtil connUtil = ConnUtil.getInstance();
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
int id = InfIDFactory.createId();
try {
//1、新增一条记录,不保存流数据
conn = connUtil.getConnection();
[color=red]conn.setAutoCommit(false);[/color]特别注意不要漏掉这个语句,否则会出错!
ps = conn.prepareStatement(SQL_ADD);
ps.setInt(1, id);
ps.setString(2, "");//先让主要内容为空
ps.setInt(3, logId);
ps.execute();
ps.close();
[color=blue]conn.commit();//提交
connUtil.closeConn(conn, ps, rs);//[/color]关闭连接
//2、把流数据更新进数据库中
conn = connUtil.getConnection();
[color=red]conn.setAutoCommit(false);[/color] ps = conn.prepareStatement(SQL_UPDATE);
ps.setInt(1, id);
rs = ps.executeQuery();
if(rs!= null && rs.next()){
/*
* 1、处理输入MIS流BLOB对象
*/
if(fin != null && !fin.equals("")){
BLOB blobIn = ((OracleResultSet)rs).getBLOB("STREAM_IN"); // 得到输入MIS流BLOB对象
OutputStream out = blobIn.getBinaryOutputStream(); // 建立输出流
System.out.println("返回的数据如下in:");
System.out.println(fin);
int len = fin.getBytes().length;
out.write(fin.getBytes(), 0, len);
out.close();
}
/*
* 2、处理MIS输出流BLOB对象
*/
if(fout != null && !fout.equals("")){
BLOB blobOut = ((OracleResultSet)rs).getBLOB("STREAM_OUT"); // 得到输入MIS流BLOB对象
OutputStream out = blobOut.getBinaryOutputStream(); // 建立输出流
System.out.println("返回的数据如下out:");
System.out.println(fout);
int len = fout.getBytes().length;
out.write(fout.getBytes(), 0, len);
out.close();
}
}
conn.commit();
} catch(Exception ex){
try{
conn.rollback();
deleteByStreamDataId(id, conn);
} catch(SQLException sqle){
String message = "更新接口服务器数据库异常!";
throw new PMSException(message, sqle);
}
String message = "更新接口服务器数据库异常!";
throw new PMSException(message, ex);
} finally {
connUtil.closeConn(conn, ps, rs);
}
}
修改流数据:
public void updateStreamData(String fin, String fout, int streamDataId) throws PMSException{
String SQL_UPDATE = " SELECT t.STREAM_IN,t.STREAM_OUT FROM MIS_STREAMDATA t WHERE t.STREAMDATA_ID = ? FOR UPDATE ";
ConnUtil connUtil = ConnUtil.getInstance();
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
//1、把流数据更新进数据库中
conn = connUtil.getConnection();
[color=red]conn.setAutoCommit(false);[/color] ps = conn.prepareStatement(SQL_UPDATE);
ps.setInt(1, streamDataId);
rs = ps.executeQuery();
if(rs!= null && rs.next()){
/*
* 1、处理输入MIS流BLOB对象
*/
if(fin != null && !fin.equals("")){
BLOB blobIn = ((OracleResultSet)rs).getBLOB("STREAM_IN"); // 得到输入MIS流BLOB对象
OutputStream out = blobIn.getBinaryOutputStream(); // 建立输出流
System.out.println("返回的数据如下in:");
System.out.println(fin);
int len = fin.getBytes().length;
out.write(fin.getBytes(), 0, len);
out.close();
}
/*
* 2、处理MIS输出流BLOB对象
*/
if(fout != null && !fout.equals("")){
BLOB blobOut = ((OracleResultSet)rs).getBLOB("STREAM_OUT"); // 得到输入MIS流BLOB对象
OutputStream out = blobOut.getBinaryOutputStream(); // 建立输出流
System.out.println("返回的数据如下out:");
System.out.println(fout);
int len = fout.getBytes().length;
out.write(fout.getBytes(), 0, len);
out.close();
}
}
conn.commit();
} catch(Exception ex){
try{
conn.rollback();
} catch(SQLException sqle){
String message = "更新接口服务器数据库异常!";
throw new PMSException(message, sqle);
}
String message = "更新接口服务器数据库异常!";
throw new PMSException(message, ex);
} finally {
connUtil.closeConn(conn, ps, rs);
}
}