Exception in thread "main" java.lang.OutOfMemoryError: Java
heap space:
Answers were Sorted based on User's Feedback
Answer / laxmanit08
hi friends wht is my task is data is transfered one
db.tables to another db.tables
in tht i write a query check the backup compare to live wht
ever new rows tht will be inserted into backup in tht min of
data means it's wrkg .heavy data means it's not wrkg tell me
the reason how to solve this problem plzzzzzzzz
import java.util.*;
import java.sql.*;
import javax.sql.*;
public class connection
{
public static void main(String[] args)
{
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/testback","root","root");
Statement stmt=con.createStatement();
String payment_date=null;
String payment_ids=null;
ResultSet rs=stmt.executeQuery("select
payment_id,payment_date from care_billing_payment order by
payment_id desc limit 1");
if(rs.next())
{
payment_date= rs.getString("payment_date");
payment_ids= rs.getString("payment_id");
}
System.out.println(payment_date);
System.out.println(payment_ids);
con.close();
Vector v = new Vector();
if(payment_date!=null && payment_ids!=null)
{
System.out.println("Live Database");
Connection con1 =
DriverManager.getConnection("jdbc:mysql://localhost:3306/testlive","root","root");
Statement stmt1=con1.createStatement();
String sql1 = "SELECT
payment_id,payment_encounter_nr,payment_date,status,final_settlement
FROM care_billing_payment where payment_id >
'"+payment_ids+"' order by payment_id asc";
ResultSet rs1=stmt1.executeQuery(sql1);
while(rs1.next())
{
Hashtable h = new Hashtable();
long payment_id= rs1.getLong("payment_id");
System.out.println(payment_id);
String payment_id1 =
String.valueOf(payment_id);
long payment_encounter_nr =
rs1.getLong("payment_encounter_nr");
System.out.println(payment_encounter_nr);
String number =
String.valueOf(payment_encounter_nr);
h.put("payment_id",payment_id1);
h.put("payment_encounter_nr",number) ;
h.put("payment_date",(String)rs1.getString("payment_date"));
h.put("status",(String)rs1.getString("status"));
h.put("settlement",(String)rs1.getString("final_settlement"));
//
h.put("payment_cash_amount",rs1.getString("payment_cash_amount"));
// h.put("payment_receipt_nr",number1) ;
v.addElement(h);
}
con1.close();
}
Connection con2 =
DriverManager.getConnection("jdbc:mysql://localhost:3306/testback","root","root");
//Connect to demobilldb Data source
System.out.println("BackUp Database");
for(int i=0;i<v.size();i++)
{
Hashtable h1 = (Hashtable)v.elementAt(i);
String payment_id =
(String)h1.get("payment_id");
long payment_id1 =Long.parseLong(payment_id);
String encounter_nr =
(String)h1.get("payment_encounter_nr");
long encounter_nr1
=Long.parseLong(encounter_nr);
String status = (String)h1.get("status");
String settlement =
(String)h1.get("settlement");
String date = (String)h1.get("payment_date");
//String amount =
(String)h1.get("payment_cash_amount");
//String receipt_nr =
(String)h1.get("payment_receipt_nr");
// long receipt_nr1 =Long.parseLong(receipt_nr);
String sql2="select time_id from calendar
where the_date='"+date+"';";
Statement stmt2=con2.createStatement();;
ResultSet rs2 = stmt2.executeQuery(sql2);
int time_id=0;
if(rs2.next())
time_id=rs2.getInt(1);
PreparedStatement prpStmt =
con2.prepareStatement("insert into care_billing_payment
(payment_id,payment_encounter_nr,status,final_settlement,payment_date,time_id)
values(?,?,?,?,?,?)");
prpStmt.setLong(1,payment_id1);
prpStmt.setLong(2,encounter_nr1);
prpStmt.setString(3,status);
prpStmt.setString(4,settlement);
prpStmt.setString(5,date);
prpStmt.setInt(6,time_id);
// prpStmt.setString(6,receipt_nr1);
prpStmt.executeUpdate();
if(status.equals("paid") &&
settlement.equals("4"))
{
prpStmt = con2.prepareStatement("update
care_billing_payment set status=? where
payment_encounter_nr=?");
prpStmt.setString(1,status);
prpStmt.setLong(2,encounter_nr1);
prpStmt.executeUpdate();
}
}
/*{
String sql5="select * from calendar;";
Statement stmt5=con2.createStatement();
ResultSet rs5 = stmt5.executeQuery(sql5);
while(rs5.next())
{
int id5=rs5.getInt(1);
System.out.println(id5);
String date5 = rs5.getString(2);
System.out.println(date5);
String sql6 = "update care_billing_payment set
id='"+id5+"' where payment_date='"+date5+"'";
//String sql6 = "update care_billing_payment
set id='0' where payment_date='2007-11-20'";
Statement stmt6=con2.createStatement();
int i = stmt6.executeUpdate(sql6);
System.out.println(i);
}
}*/
con2.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
see this my task
}
Is This Answer Correct ? | 3 Yes | 2 No |
Answer / kalyan
Hi Lakshman,
*)Dont retrive all records at a time give limit when ever
getting records from database.
*) when ever inserting data into database use BatchUpdate
not prpStmt.executeUpdate(); then it will insert all records
at a time.
Is This Answer Correct ? | 1 Yes | 2 No |
communication between main window and new windows
code to create a new window
how to Scroll a DIV content
how to Auto Scroll the page
i am making a purchase sheet in html ,it contain names of product(by selecting checkboxes),quantity(textbox) and price(checbox), by using java script i am restricting the user to prevent them to enter the wrong data ,so i made the servlet were i am only able to prevent them to enter the page in empty field , so my doubt is how do you prevent them how to enter non numerical data in quantity field
how to create Expandable and Collapsible Menus
create Drop-Down Navigation Menus
code to positioning of window in certain dimensions
code to sorting an array of objects
How to encode and decode URL strings?
how to determine which Mouse Button was pressed
function to combine two or more arrays