Buscar este blog
lunes, 19 de noviembre de 2018
Cambiar valor de la secuencia al mayor ID de la base de datos
declare
v_sql varchar2(500);
begin
EXECUTE IMMEDIATE 'drop sequence "ESQUEMA"."HIBERNATE_SEQUENCE"';
SELECT 'CREATE SEQUENCE "ESQUEMA"."HIBERNATE_SEQUENCE" MINVALUE 1 START WITH '||
(SELECT MAX(ID1)+1 FROM (
SELECT MAX(ID) "ID1" FROM XXXY
UNION
SELECT MAX(ID) FROM XXX)
)
||' INCREMENT BY 1 CACHE 20'
INTO v_sql
FROM dual;
EXECUTE IMMEDIATE v_sql;
dbms_output.put_line(v_sql);
end;
v_sql varchar2(500);
begin
EXECUTE IMMEDIATE 'drop sequence "ESQUEMA"."HIBERNATE_SEQUENCE"';
SELECT 'CREATE SEQUENCE "ESQUEMA"."HIBERNATE_SEQUENCE" MINVALUE 1 START WITH '||
(SELECT MAX(ID1)+1 FROM (
SELECT MAX(ID) "ID1" FROM XXXY
UNION
SELECT MAX(ID) FROM XXX)
)
||' INCREMENT BY 1 CACHE 20'
INTO v_sql
FROM dual;
EXECUTE IMMEDIATE v_sql;
dbms_output.put_line(v_sql);
end;
jueves, 1 de noviembre de 2018
Crear tablespace de datos e indices
CREATE TABLESPACE DATOS_xxx datafile 'xxx_datafile.dbf' size 20M AUTOEXTEND ON;
CREATE TABLESPACE IDEX_xxx datafile 'xxx_index_datafile.dbf' size 20M AUTOEXTEND ON;
CREATE TABLESPACE IDEX_xxx datafile 'xxx_index_datafile.dbf' size 20M AUTOEXTEND ON;
martes, 5 de julio de 2016
Crear tabla con dblink en otra db - PHP
Suponemos que en este punto estamos conectados a la base de datos A.
1) Abrir conexión a DB donde queremos crear la tabla.
$conexion = new ConnPostgres($conn->host, $conn->port, $conn->data_base, $conn->user, $conn->password);
2) Crear la SQL donde creamos una tabla a partir de una select sobre otra tabla.
$sql = 'create table '.$nombreTabla.' as select q.NOMBRECAMPO/OS from dblink('.'\'dbname=NOMBREDB user=USER password=PASSWORD'.'\', '.'\'select NOMBRECAMPO/OS
from TABLA where
xxxxx='.$xxxxx.'\')as q (NOMBRECAMPO/OS, NOMBRECAMPO character varying(25))';
3)Lanzar query.
$conexion->query($sql);
martes, 17 de mayo de 2016
NVL PL/SQL de Oracle
La función NVL forma parte del lenguaje PL/SQL de Oracle.
NVL( Expresión1, Expresión2 ) |
Si
Expresión1 es null, se devolverá valor de Expresión2, util para operaciones.
Por ejemplo:
1 | SHOW NVL( NULL, 'Es nulo' ) |
2 | Es nulo | | | | | | | | |
Envio de email. javax.mail
public static void enviarCorreo(List emailsDestinatarios,String pAsunto,String pMensaje) {
try {
if (emailsDestinatarios.size()>0){
log.info("Creando el correo a enviar...");
InternetAddress from = new InternetAddress(mailConfig.getProperty(MAIL_SENDER));
from.setPersonal(mailConfig.getProperty(MAIL_ALIAS), "iso-8859-1");
MimeMessage message = new MimeMessage(session);
message.setFrom(from);
message.addRecipients(Message.RecipientType.BCC, emailsDestinatarios.toArray(new InternetAddress[emailsDestinatarios.size()]));
message.setSubject(pAsunto);
message.setSentDate(new Date());
MimeBodyPart cuerpoEmail = new MimeBodyPart();
cuerpoEmail.setText(pMensaje, "us-ascii");
cuerpoEmail.setHeader("Content-Type", "text/html");
MimeMultipart contenido = new MimeMultipart();
contenido.addBodyPart(cuerpoEmail);
message.setContent(contenido);
log.info("Correo a enviar creado.");
log.info("Enviando el correo...");
Transport.send(message);
log.info("Correo enviado.");
}else
log.info("No hay destinatarios válidos.");
} catch (MessagingException me) {
log.error("Se ha producido un error en el envío del correo.", me);
} catch (UnsupportedEncodingException ue) {
log.error("Se ha producido un error con el encoding del correo.", ue);
}catch (Exception mex) {
mex.printStackTrace();
log.error("No se pudo enviar el correo." + mex.getMessage());
}
}
try {
if (emailsDestinatarios.size()>0){
log.info("Creando el correo a enviar...");
InternetAddress from = new InternetAddress(mailConfig.getProperty(MAIL_SENDER));
from.setPersonal(mailConfig.getProperty(MAIL_ALIAS), "iso-8859-1");
MimeMessage message = new MimeMessage(session);
message.setFrom(from);
message.addRecipients(Message.RecipientType.BCC, emailsDestinatarios.toArray(new InternetAddress[emailsDestinatarios.size()]));
message.setSubject(pAsunto);
message.setSentDate(new Date());
MimeBodyPart cuerpoEmail = new MimeBodyPart();
cuerpoEmail.setText(pMensaje, "us-ascii");
cuerpoEmail.setHeader("Content-Type", "text/html");
MimeMultipart contenido = new MimeMultipart();
contenido.addBodyPart(cuerpoEmail);
message.setContent(contenido);
log.info("Correo a enviar creado.");
log.info("Enviando el correo...");
Transport.send(message);
log.info("Correo enviado.");
}else
log.info("No hay destinatarios válidos.");
} catch (MessagingException me) {
log.error("Se ha producido un error en el envío del correo.", me);
} catch (UnsupportedEncodingException ue) {
log.error("Se ha producido un error con el encoding del correo.", ue);
}catch (Exception mex) {
mex.printStackTrace();
log.error("No se pudo enviar el correo." + mex.getMessage());
}
}
Columnas autoSize Export Excel
Importante a la hora de exportar en excel, será siempre necesario adaptar el ancho de las celdas al texto que hay en ella.
//Recorremos las columnas (l) y ajustamos el ancho
for (int i = 0; i <= l; i++) {
sheet.autoSizeColumn(i);
}
No facerlo solo en la cabezera, es frecuente esto de realizarlo solo a la fila 0.
//Recorremos las columnas (l) y ajustamos el ancho
for (int i = 0; i <= l; i++) {
sheet.autoSizeColumn(i);
}
No facerlo solo en la cabezera, es frecuente esto de realizarlo solo a la fila 0.
Suscribirse a:
Entradas (Atom)