壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1048|回复: 1

[OAF] 谁帮我看看这个JAVA程序为什么不回滚? (初学者的小问题)

[复制链接]
发表于 2010/1/27 23:15:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
package com.oracle.apps.cux.webui;
import java.io.PrintStream;
import java.sql.*;
public class cuxtest1 {
public static String g_function_name = "cuxtest1";
public static String g_app_name = "CUX";
public cuxtest1() {
}
public static Connection getConection(String p_user, String p_pwd) {
  String strUrl1 = "jdbcracle:thin(description=(address_list=(address=(protocol=tcp)";
  String strUrl2 = "(host=192.168.253.150)(port=1521)))(connect_data=(sid=prod)))";
  String strUrl = strUrl1 + strUrl2;
  System.out.println("strUrl=" + strUrl);
  String strUser = p_user;
  String strPassword = p_pwd;
  Connection conn = null;
  try {
   String driverName = "oracle.jdbc.driver.OracleDriver";
   Class.forName(driverName);
   conn = DriverManager.getConnection(strUrl, "APPS", "APPS");
  } catch (Exception e) {
   System.out.println("Connect to dterp Server Error!");
   e.printStackTrace();
  }
  return conn;
}
public static void main(String[] args) {
  System.out.println("MAIN Start");
  String strUser = args[2].substring(0, args[2].indexOf(47, 0));
  String strPwd = args[2].substring(args[2].indexOf(47, 0) + 1);
  System.out.println(strUser + "," + strPwd);
  Connection conn = getConection(strUser, strPwd);
  put_log(conn, "asdasdadasdad");
}
public static void put_log(Connection p_conn, String p_error_msg) {
  CallableStatement cs = null;
  String sql = "begin cux_xxx_pkg.write_debug(:1,:2,:3); end;";
  boolean isProcess = true;
  System.out.println(p_error_msg);
  try {
   p_conn.setAutoCommit(false);
   cs = p_conn.prepareCall(sql);
   cs.setString(1, g_app_name);
   cs.setString(2, g_function_name);
   cs.setString(3, p_error_msg);
   cs.execute();
   if (isProcess) {
    System.out.println("rollback");//我这里明明执行后让它回滚的, 但是事实上还是提交了,这是怎么回事啊
    p_conn.rollback();
   } else {
    System.out.println("commit");
    p_conn.commit();
   }
   cs.close();
   p_conn.close();
  } catch (SQLException sqle) {
   try {
    p_conn.rollback();
    cs.close();
    p_conn.close();
   } catch (Exception exception) {
   }
   sqle.printStackTrace();
  }
}
}
 楼主| 发表于 2010/1/28 10:48:15 | 显示全部楼层
不好意思,,我刚发现我的 cux_xxx_pkg是自制事务,结贴
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 03:51 , Processed in 0.012096 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表