मैं एक DBManager वर्ग के रूप में नीचेJDBC और Oracle conn.commit और conn.setAutocommit काम नहीं कर ठीक से
public class DBManager {
public static String DRIVER = "oracle.jdbc.driver.OracleDriver";
public static String URL = "jdbc:oracle:thin:@//localhost:1521/DB";
public static String USERNAME = "afsweb";
public static String PASSWORD = "afsweb";
public static String DOCDBUSERNAME = "docdb";
public static String DOCDBPASSWORD = "docdb";
public static int PORT = 1521;
//static Logger log = Logger.getLogger(ExcelDBManager.class.getName());
public static Connection getConnection(String url ,String username, String password){
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Connection con = null;
try {
con = DriverManager.getConnection(url,username,password);
con.setAutoCommit(false);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return con;
}
दिखाया बना दिया है और मुझे विधि है तालिका में पंक्तियों काटना
public static void truncate() throws SQLException{
conn = DBManager.getConnection(DBManager.URL, DBManager.USERNAME, DBManager.PASSWORD);
System.out.println(conn.getAutoCommit() +"");
Statement pstmnt = null;
ResultSet rs = null;
try{
pstmnt = conn.createStatement();
pstmnt.executeQuery("truncate table bd_vehicles_temp_1");
System.out.println("Query Executed");
}
catch(SQLException e){
e.printStackTrace();
}
finally{
try{
if(rs !=null){
rs.close();
}
if(pstmnt != null){
pstmnt.close();
}
if(conn != null){
conn.close();
}
}
catch(SQLException e)
{
e.printStackTrace();
}
}
}
अब मेरे पास है मेरे truncate() विधि के अंदर conn.commit लिखा नहीं है। इसके अलावा मैंने गलत करने के लिए सेटऑटोकॉमिट सेट किया है। फिर भी परिवर्तन डेटाबेस में परिलक्षित होते हैं।
उपरोक्त विधि निष्पादित पर मैं के रूप में
false
Query Executed
जिसका मतलब है मेरी कनेक्शन autocommit मोड गलत है उत्पादन मिलता है। अभी भी truncate विधि द्वारा किए गए परिवर्तन डेटाबेस में परिलक्षित होता है। संभावित कारण क्या हो सकता है ?? मैं ओरेकल डेटाबेस का उपयोग कर रहा हूँ।
अग्रिम में धन्यवाद!
सम्मिलित करने के लिए भी परिणाम है –
@ अभिषेकसिंह मैंने अपने उत्तर में एक अद्यतन के रूप में अपनी प्रतिक्रिया जोड़ दी है। कृपया एक नज़र डालें। –