|
Mostrar Mensajes
|
Páginas: 1 2 [3]
|
24
|
Programación / Java / Re: [Ayuda] Una manera rapida de insertar registros a una base de datos en SQL
|
en: 26 Julio 2013, 17:43 pm
|
Si son consultas sencillas, es solo un select y un insert, estaba haciendo pruebas por eso esta mediante un arreglo, lo hice directamente y tardo aproximadamente lo mismo, cuando hice pruebas con el arreglo tardo aproximadamente dos horas, pero la prueba con el arreglo no la hice utilizando todas las columnas, por eso pienso que tardo menos, entonces ahora que lo hago con todos los campos quiero pensar que por eso tarda mas.
|
|
|
25
|
Programación / Java / [Ayuda] Una manera rapida de insertar registros a una base de datos en SQL
|
en: 26 Julio 2013, 17:13 pm
|
Buenos Dias, tengo un codigo que lo que hace es traer informacion de un AS 400 e insertarla en un servidor SQL El problema es que son alrededor de 4 millones de registros entonces al hacer el insert a sql tarda alrededor de 9 horas, lo que hago es insertarlos de 100mil en 100mil Existe una manera de hacerlo mas rapido? Este es mi codigo: import java.sql.ResultSet; import java.sql.SQLException; import java.util.*; import java.awt.event.*; import java.awt.*; import java.io.IOException;
public class Main { public static void main(String[] args) { ForsConn forsConn; SqlConn sqlConn; try { forsConn= new ForsConn(); sqlConn = new SqlConn(); } catch (Exception e1) { e1.printStackTrace(); } ResultSet rsDownload; ResultSet rsInsert; ResultSet rsDelete; String sqlInsert=""; String LAKT=""; String delete = ""; String[][] Arreglo = new String[100000][15]; delete= "DELETE FROM Tbl_FORSD_LAKTX0"; LAKT = "SELECT DOS_LAKT_FIRMNR, DOS_LAKT_WERKNR, DOS_LAKT_BCHGNR, " + "DOS_LAKT_BCHGPO, DOS_LAKT_BUARTT, DOS_LAKT_TEILNR, DOS_LAKT_MNGABG, " + "DOS_LAKT_MNGANN, DOS_LAKT_AUFTNR, DOS_LAKT_AUFTPO, OBTENR, " + "DOS_LAKT_ZGGUNV, DOS_LAKT_BSTART, DOS_LAKT_BLGNRR, DOS_LAKT_BCHDAT " + "FROM FORSDR45.LAKTX0 " + "WHERE (((DOS_LAKT_FIRMNR)=4) AND ((DOS_LAKT_BUARTT)='01' Or (DOS_LAKT_BUARTT)='12') " + "AND ((DOS_LAKT_ZGGUNV)>=('2013')))"; try { rsDelete=SqlConn.getDataSql3(delete); System.out.println ("Registros Borrados"); } catch (SQLException e1) { e1.printStackTrace(); } try { rsDownload=ForsConn.getDataFors(LAKT); int x; rsDownload.next(); while(rsDownload.getString(1)!=null) { z: for(x=0; x<99999; x++) { System.out.println (x); if(rsDownload.next()){ Arreglo[x][0]= rsDownload.getString("DOS_LAKT_FIRMNR"); Arreglo[x][1]= rsDownload.getString("DOS_LAKT_WERKNR"); Arreglo[x][2] = rsDownload.getString("DOS_LAKT_BCHGNR"); Arreglo[x][3] = rsDownload.getString("DOS_LAKT_BCHGPO"); Arreglo[x][4] = rsDownload.getString("DOS_LAKT_BUARTT"); Arreglo[x][5] = rsDownload.getString("DOS_LAKT_TEILNR"); Arreglo[x][6] = rsDownload.getString("DOS_LAKT_MNGABG"); Arreglo[x][7] = rsDownload.getString("DOS_LAKT_MNGANN"); Arreglo[x][8] = rsDownload.getString("DOS_LAKT_AUFTNR"); Arreglo[x][9] = rsDownload.getString("DOS_LAKT_AUFTPO"); Arreglo[x][10] = rsDownload.getString("OBTENR"); Arreglo[x][11] = rsDownload.getString("DOS_LAKT_ZGGUNV"); Arreglo[x][12] = rsDownload.getString("DOS_LAKT_BSTART"); Arreglo[x][13] = rsDownload.getString("DOS_LAKT_BLGNRR"); Arreglo[x][14] = rsDownload.getString("DOS_LAKT_BCHDAT"); /*System.out.println (Arreglo[x][0]); System.out.println (Arreglo[x][1]); System.out.println (Arreglo[x][2]); System.out.println (Arreglo[x][3]); System.out.println (Arreglo[x][4]); System.out.println (Arreglo[x][5]); System.out.println (Arreglo[x][6]); System.out.println (Arreglo[x][7]); System.out.println (Arreglo[x][8]); System.out.println (Arreglo[x][9]); System.out.println (Arreglo[x][10]); System.out.println (Arreglo[x][11]); System.out.println (Arreglo[x][12]); System.out.println (Arreglo[x][13]); System.out.println (Arreglo[x][14]);*/ } else break z; } for(x=0; x<99999; x++) { try { sqlInsert = "INSERT INTO Tbl_FORSD_LAKTX0 (DOS_LAKT_FIRMNR, DOS_LAKT_WERKNR, DOS_LAKT_BCHGNR, " + "DOS_LAKT_BCHGPO, DOS_LAKT_BUARTT, DOS_LAKT_TEILNR, DOS_LAKT_MNGABG, " + "DOS_LAKT_MNGANN, DOS_LAKT_AUFTNR, " + "DOS_LAKT_AUFTPO, OBTENR, " + "DOS_LAKT_ZGGUNV, DOS_LAKT_BSTART, DOS_LAKT_BLGNRR, DOS_LAKT_BCHDAT) " + "VALUES ( '" + Arreglo[x][0] + "' , '" + Arreglo[x][1] + "' , '" + Arreglo[x][2] + "' , '" + Arreglo[x][3] + "' , '" + Arreglo[x][4] + "','" + Arreglo[x][5] + "','" + Arreglo[x][6] + "','" + Arreglo[x][7] + "','" + Arreglo[x][8] + "','" + Arreglo[x][9] + "','" + Arreglo[x][10] + "','" + Arreglo[x][11] + "','" + Arreglo[x][12] + "','" + Arreglo[x][13] + "','" + Arreglo[x][14] + "')"; rsInsert=SqlConn.getDataSql3(sqlInsert); System.out.println ("Registro Agregado"); //sql="select DOS_LAKT_BCHGNR from Tbl_FORSD_LAKTX0 where DOS_LAKT_BCHGNR=" + Arreglo[x][3].trim(); } catch(Exception e) { e.printStackTrace(); } } } } catch(Exception e) { e.printStackTrace(); } } }
|
|
|
27
|
Programación / Java / [Ayuda] Ejecutar jar desde un Bat desde una tarea programada
|
en: 26 Julio 2013, 15:33 pm
|
Queria ver si me podian ayudar, lo que estoy intentando hacer es ejecutar un archivo jar desde un bat, se encuentran en la misma carpeta. Si yo abro el bat, el bat me ejecuto el jar, ahi no hay ningun problema, pero si intento que se ejecute mediante las tareas programadas de windows me marca el siguiente error: Unable to Access Jarfile el archivo bat contiene las siguientes lineas java -jar Etiquetas_Cajas_Pallet_Sabinas.jar pause
|
|
|
29
|
Programación / Java / Ejecutar un bat desde java y que el codigo no continue
|
en: 10 Julio 2013, 18:59 pm
|
Tengo un codigo que ejecuta un archivo Bat Runtime aplicacion = Runtime.getRuntime(); try{aplicacion.exec("cmd.exe /K start D:/MoverForsTablesToServerS.bat"); } catch(Exception e){System.out.println(e);}
xcopy /y "D:\FORSTables.mdb" "D:\Test\" exit
Lo que quiero hacer es que el resto del codigo Java no se ejecute hasta que termine de ejecutarse el archivo bat Alguien sabe como le puedo hacer?
|
|
|
|
|
|
|