jueves, 9 de junio de 2016

Incrementar la clave primaria de una tabla de Oracle cuando se inserta un nuevo registro

Es muy habitual que cada vez que se inserte un nuevo registro en una tabla queramos que la clave primaria se incremente secuencialmente.
MySQL nos proporciona el atributo AUTO_INCREMENT y por su parte SQL Server ofrece el atributo IDENTITY. Sin embargo, Oracle no tiene un atributo de este tipo así que para tener esta funcionalidad hay que crear algunos elementos auxiliares.

Será necesario, por un lado crear una secuencia y por otro un trigger que detecte cuando se inserta un nuevo registro en la tabla y que utilice la secuencia para asignarle el valor siguiente a la clave primaria.

Lo veremos con un ejemplo. Tenemos una tabla coches en la que se registra marca y modelo. La clave primaria el un código de coche que debe ser incremental.

CREATE TABLE COCHES
(codigo_coche number primary key,
marca VARCHAR2(25) NOT NULL,
modelo VARCHAR2(25) NOT NULL);


Ahora crearemos una secuencia que contendrá el último valor que se le ha dado a codigo_coche, la creamos así:

CREATE SEQUENCE scoches
START WITH 1
INCREMENT BY 1;


Si utilizamos directemente la secuencia en un insert se haría de la siguiente manera:

INSERT INTO COCHES (codigo_coche, marca, modelo)
VALUES (scoches.nextval, ‘Ford’, ‘Focus’);


Ahora vamos ha crear un trigger para no tener que preocuparnos de insertar el scoches.nextval cada vez que vamos a insertar un nuevo registro en la tabla. El disparador, antes de que se inserte en la tabla meterá en codigo_coche el siguiente valor de la secuencia:

CREATE TRIGGER TRIG_COCHES
BEFORE INSERT ON COCHES
FOR EACH ROW
BEGIN
SELECT scoches.NEXTVAL INTO :NEW.codigo_coche FROM DUAL;
END;


Ya está, ahora será mucho más sencillo insertar registros en la tabla COCHES, pues no será necesario tener en cuenta el siguiente valor de la secuencia, el trigger se encarga de esta tarea:

INSERT INTO COCHES (marca, modelo)
VALUES (‘Renault’, ‘Megane’);


martes, 24 de mayo de 2016

No es posible editar TNSNames desde Toad

Es posible que en Toad veamos un aspa roja en el botón TNSNames Editor.
En este caso es posible incluir conexiones en toad, pero no mediante tnsnames. Puede que si en la conexión utilizamos la pestaña TNS y es una cadena muy larga, se repite en la parte inferior y no vemos el número de registros updateados, insertados o borrados.
Esto se soluciona configurando nuestras conexiones en TNSnames.
No poder ver el TNSNames editor se debe a que no tenemos creado el fichero tnsnames.ora en la ruta adecuada.
Para comprobar cuál es la ruta en la que hay que crear el fichero tnsnames.ora lo más sencillo es ver la ruta que tiene alguno de los programas del cliente de oracle. Basta con acceder a en los programas de Windows, oracle cliente 11g o similar y con clic derecho en alguno de los programas ver en qué ruta está ubicado.
Pongamos que está en C:\app\product\11.2.0\client_1 entonces la ruta en la que debemos crear el tnsnames.ora es C:\app\product\11.2.0\client_1\network\admin
Con esto ya podremos ver activa la pestaña de Tnsnames editor en Toad.



sábado, 21 de mayo de 2016

Oracle constraint still applying after dropping it

The reason for this is that the index of this constraint was not deleted.
You just have to drop the index.
For more detail check this stackoverflow article

domingo, 15 de mayo de 2016

Quitar mensaje de Windows XP original



Cuando tenemos una copia de Windows XP que no es original nos aparecerá un molesto mensaje, que además nos quita nuestro fondo de escritorio y lo pone en negro.
En la parte inferior derecha de la pantalla aparecerá el aviso que dice esto:
Podría ser victima de una falsificación de software.
Esta copia de Windows no ha superado el proceso de validación de Windows original.

Quitar este aviso es muy sencillo. Basta con crear un fichero de texto con el bloc de notas y copiar el siguiente código:

taskkill /im wgatray.exe 
Del c:\Windows\System32\WgaTray.exe 
Del c:\Windows\System32\dllcache\WgaTray.exe 
echo Windows Registry Editor Version 5.00 >%temp%\WGANFIX.REG 
echo. >>%temp%\WGANFIX.REG 
echo [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon] >>%temp%\WGANFIX.REG 
regedit /s %temp%\WGANFIX.REG 
del %temp%\WGANFIX.REG 
del c:windows\system32\wgalogon.dll 
del c:windows\system32\dllcache\wgalogon.dll 

Una vez copiado, guardar el fichero con el nombre deseado, pero en lugar de guardarlo como .txt guardarlo como .bat.
Por ejemplo, llamar al fichero quitaraviso.bat y guardar.
Seguidamente hacer doble clic en el fichero .bat guardado y reiniciar el equipo.
Problema resuelto ;)

miércoles, 20 de abril de 2016

Error 503—Service Unavailable with BEA Weblogic 9.2

 
Error 503--Service Unavailable
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.5.4 503 Service Unavailable
The server is currently unable to handle the request due to a temporary 
overloading or maintenance of the server. The implication is that this 
is a temporary condition which will be alleviated after some delay. If known, 
the length of the delay may be indicated in a Retry-After header. If no Retry-After is given, the client SHOULD handle the response as it would for a 500 response.

    Note: The existence of the 503 status code does not imply that a server 
    must use it when becoming overloaded. Some servers may wish to simply 
    refuse the connection.
 
 
 
I have been getting this error trying to access to my application on 
the web browser.
I deployed it by installing it in BEA Weblogic 9.2 console. I got 
crazy for a while but the solution could not be easier, I just needed 
to START THE APLLICATION on the console.
In this version of Weblogic (and probably with my current BEA WL 
configuration) the application does not start automaticaly when it 
is installed.

I am used to work with 10g Oracle Weblogic and I never needed this, 
installing the app is enough. 

I found other differences between BEA WL and 10g WL. In BEA WL I have 
to Lock and Edit first to Install o Delete applications and when I 
finish the installation procces I have to Activate Changes to get it done.
Maybe it is possible to have this options on 10g WL too but
all the 10G WebLogics I'm using don't have them.

miércoles, 30 de marzo de 2016

Solucionado ¡Objeto no encontrado! Joomla con XAMPP


¡Objeto no encontrado!

El enlace requerido no ha sido localizado en este servidor. Si usted proporcionó el enlace de manera manual le solicitamos que por favor revise los datos e intentelo de nuevo.
Por favor contacte con el webmasteren caso de que usted crea que existe un error en el servidor.

Error 404

localhost
10/26/13 17:14:01
Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1


Esto es exactamente lo que me estaba devolvierdo el navegador.
Estaba intentando instalar la versión 3.0 de Joomla y no conseguía acceder a ningún index.php para la instalación. 

Tenía el mismo resultado accediendo con localhost o con la dirección ip local:
http://localhost/joomla303/installation/index.php
http://127.0.0.1/joomla303/installation/index.php
Lo curioso es que accedía sin problemas a una web con joomla 1.5 que tenía desplegada en el XAMPP. Le he dado muchas vueltas y he pensado que podía ser la versión del php para la versión 3 de Joomla pero no me cuadraba ya que todo lo veía en orden.

Cual era el problema. Estaba copiando el Joomla nuevo en una carpeta C:/XAMPP pero en realidad el acceso directo del XAMPP que estaba lanzando no apuntaba a C:/XAMPP si no a otra carpeta donde evidentemente no estaban los ficheros y por eso no los encontraba. ¡Vaya tontería! me ha costado una hora.

RECOMIENDO por si os pasa lo mismo que a mi, ver dónde está apuntando el lanzador del XAMPP, click derecho y ver "Iniciar en" a donde apunta.

Evidentemente este error también puede darse por no estar escribiendo correctamente la dirección del fichero al que se desee acceder, evitad espacios, mayúsculas y símbolos raros en rutas y nombres de ficheros.

Si ya tenéis listo vuestro proyecto Joomla y estáis pensando en alojarlo en Internet os recomiendo el hosting de Web Empresa, están especializados en Joomla, yo llevo años con ellos, tienen los servidores en España y trabajan muy bien. Aquí dejo el link:

Hosting Joomla en Web Empresa









Josepe+

miércoles, 23 de marzo de 2016

SQL tip. Make negative a positive value

If you need to make negative a positive value returned in a query you just have to write the minus symbol before the field in the select.

Example:
select -positiveNumber from table
where (your condition) Josepe+

martes, 15 de marzo de 2016

Problem with jasper subreport java.io.StreamCorruptedException

I was getting the following error executing my jasper report with a subreport. I am using iReport but it should be similar in other applications.

Error loading object from file  bla bla bla
bla bla bla
bla bla bla
Caused by: java.io.StreamCorruptedException: invalid stream header: 3C3F786D
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:783)
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:87)
    ... 16 more 
 


 The problem is that you have to call the .jasper file of the subreport and not the .jrxml


jueves, 10 de marzo de 2016

Error: Esta clase no acepta Automatización Internet Explorer

Error: Esta clase no acepta Automatización Internet Explorer

Me estaba dando este error una web con Internet Explorer 7, sin embargo en IE8 me funcionaba correctamente.

Estuve cambiando la versión de Internet Explorer para poder validar en IE7 e IE8 una aplicación web y al realizar una determinada operación la página se quedaba en error con ese pequeño triángulo amarillo en la esquina inferior izquierda y al desplegar este error me decía esto: Error: Esta clase no acepta Automatización.

La solución fue registrar las siguientes DLLs, escribiendo en la línea de comándos o símbolo de sistema de Windows:
regsvr32 scrrun.dll
regsvr32 dispex.dll
regsvr32 urlmon.dll
regsvr32 msscript.ocx
regsvr32 vbscript.dll

Si has estado instalando, desinstalando IExplorer o has puesto alguna colección de Internet Explorers puede que algo haya quedado mal. Yo con registrar estas DLLs lo solucioné.

miércoles, 2 de marzo de 2016

How to create an HTML 5 image editor with appCobra


Trying to find how to create an HTML5 image editor I found a very interesting article about how to do it with appCobra.
Check it here:
http://appcobra.wordpress.com/2013/03/02/creating-an-image-editor-in-html5/


appCobra is a visual programing environement that generates pure HTLM5 so you run it in every modern browser. I got the trial but so far I didn't have any time to test it.
It looks very easy to create animated content, you don't need to code anything. However you have to upload your app to their server.

If you visit their website and see "take a tour" you will have a better idea of what it is.
http://www.appcobra.com

lunes, 22 de febrero de 2016

Excel al pulsar las flechas no salta de una celda a otra


En excel al pulsar las flechas del teclado en lugar de cambiar de celda lo que hace es mover el scroll o barra lateral hacia los lados o arriba y abajo dependiendo de la flecha que pulsemos.

Típico problema que a todo el mundo le ha pasado alguna vez, ¿es la primera? lee esto.

Esto es debido a que se ha pulsado la tecla de bloqueo de desplazamiento del teclado.
Esta tecla suele estar arriba y a la derecha, justo después de la tecla F12 y se llama "Bloq Despl" o "Despl".
Para que en excel vuelvan a poder pasarse casillas tan sólo hay que pulsar una vez la tecla Bloq Despl y ya está solucionado.

martes, 16 de febrero de 2016

Online Slider for your Web Sites Slideful

SLIDER WITH IFRAME CODE


I was trying to add a slider in a google sites page and I have to say I couldn't. It is not possible to include javascript in the HTML. There is a gadget for iframe to call other http site that didn't work either.

Doing this task I found an amazing website that offers a free service to create customized sliders. It is plenty of options, truly amazing.
Check it out here: http://slideful.com/

I tryed it in blogger and as you can see it works! Using the iframe code that slideful provides you can see the slider working as you edit your article. With Javascript you can't and it makes it much more difficult to edit your article.

SLIDER WITH JAVASCRIPT CODE

miércoles, 10 de febrero de 2016

Resultado hard reset LG L5 610v


El hard reset del LG L5 se hace de la siguiente manera:
Pulsar simultáneamente botones de Bajar Volumen y Encender.
Cuando se ilumine la parte de abajo del teléfono pulsar el botón central. Aparecerá un androide en grande, dejarle el tiempo que necesite hasta que termine el proceso.


La rapidez de mi teléfono se ha ido deteriorando con el paso del tiempo. Necesitaba hacer algo, flashearlo, formatearlo. Me decidí por hard reset. En teoría deja el teléfono como salió de fábrica pero no es del todo cierto. Todos los programas descargados e instalados permanecen aunque se eliminan sus configuraciones y temporales.

Con el hard reset solucioné los problemas de lentitud y de desconexión del bluetooth del coche que venía sufriendo. El proceso es rápido y sin problemas con una salvedad.
He perdido todas mis notas desde el último backup que hice que era de julio. 5 meses de notas, mi entrenamiento, kilómetros del coche cuando crucé las ruedas y más cosas que cuando necesite me tiraré de los pelos! Voy a instalar Evernote para que no me vuelva a suceder...

martes, 2 de febrero de 2016

Disable ultraedit file backup


Ultra Edit is a "must have" application for me. Something that really annoys me about UE is the automatic file backup. It is enabled by default.

To disable this function just go to the menu Advanced / Configuration.../ Backup and mark the No Backup option. By doing this you will never find your folders filled up with any useless .back files.

jueves, 28 de enero de 2016

Como poner en Wordpress el Blog en un menu cualquiera que no sea el Home

Wordpress es una plataforma orientada a la creación de blogs, pero realmente, puede cubrir las necesidades de multitud de proyectos web como pueden ser una página web corporativa de una empresa o una tienda online.

Como he dicho al estar orientado desde sus orígenes a ser la herramienta favorita de los bloggers (diablos y qué hago yo con blogspot! jajajj) suele tener por defecto en la primera página el Blog, con las últimas entradas en el mismo.
Puede darse el caso de que queramos que la priméra página sea una página estática con una foto y un texto de bienvenida, por ejemplo, y que hayamos pensado poner el Blog en un menú distinto a la página principal.
Es muy fácil conseguir esto, toma nota:

    1. En el menú de la izquierda accede a Ajustes → Lectura

    2. En Página frontal muestra selecciona Una página estática.

    3. En Página inicial selecciona tu página de inicio.

    4. En Página de entradas selecciona tu página de Blog.

Debería quedar como en la imagen siguiente:
















En mi caso mi página de Inicio es Front Page y mi página de entradas del blog se llama Blog.

Si no tuvieras una página publicada para tu página de inicio y pagina de blog puedes crearlas fácilmente desde la opción del menú de la izquierda Páginas → Añadir nueva.
Tan solo tienes que darles un nombre y publicarlas. En el caso de la página de Blog no tienes que incluir ningún contenido ya que sólo se mostrarán las últimas entradas del blog.

Ahora desde el menú de la izquierda Apariencia → Menús puedes añadir las páginas de inicio y de blog a la estructura del menú, marca la página y pulsa Añadir al menú.
Las opciones de menú que acabas de añadir no tienen por qué llamarse igual que las páginas, puedes cambiarles el nombre modificando el campo Navigation Label.

Espero haberte ayudado. Si te ha servido compártelo!


Si ya tienes listo tu proyecto en Wordpress y estás pensando en subirlo a Internet te recomiendo el Hosting de Web Empresa. Llevo años trabajando con ellos, están especializados en Wordpress, tienen los servidores en España y ofrecen muy buen servicio. Aquí te dejo el link:

Hosting Wordpress en Web Empresa


lunes, 18 de enero de 2016

Android pasar contactos a google gmail


Perder el móvil o cambiarlo suele ser un trauma, por eso es importante tener una copia de seguridad de los contactos o mejor, tenerlos en Gmail para no perderlos.

En primer lugar debes tener configurada en tu teléfono la cuenta de google.
La forma de trasladar los contactos a Google desde un movil Android es la siguiente:

1. Accede a Contactos de tu teléfono.
2. Pulsa en el botón de opciones para que te aparezca la lista de opciones.
3. Selecciona Importar/Exportar
4. Selecciona Exportar contactos a la tarjeta SD, esto te hará una copia de seguridad de tus contactos en la tarjeta de memoria con la cual también podrías recuperarlos.
5. Cuando se hayan terminado de exportar a la tarjeta SD los contactos vuelve a pulsar Importar/Exportar en las opciones de Contactos.
6. Pulsa en importar desde Tarjeta SD.
7. Te dará la opción de importar los contactos al teléfono o a tu cuenta de Google, selecciona google.

Espera a que se importen todos los contactos a Gmail y ya está.

martes, 12 de enero de 2016

Eliminar Añadir Comentarios de las Páginas de Wordpress

He aquí otra evidencia más de que Wordpress está pensado para Blogs y no para Webs.
¿Por qué aparece en las páginas por defecto la opción de comentarios habilidata? Ni idea. Lo que está claro es que en la página "Quienes Somos" de una Web corporativa no es de recibo que esté permitido incluir comentarios.

He estado un tiempo bastante largo intentando descubrir cómo eliminar los comentarios de las páginas. Me he puesto incluso a tocar código PHP para algo que debiera ser sencillo. Comentando en el archivo loop-page.php del templante una línea tal y como se muestra a continuación <?php //comments_template(); ?> se quitan todos los comentarios pero también los del Blog!! Yo quería tener los comentarios en el Blog pero no en las páginas.

Pues bien, la mejor solución no requiere tocar código PHP pero está algo escondida.
  • Editar la página en cuestión.
  • Pulsar en el botón que hay arriba a la derecha llamado "Opciones de Pantalla"
  • Marcar la opción de comentarios. Ahora en la parte de abajo de la página aparecen opciones para los comentarios.
  • Desmarcar el Check "Permitir Comentarios".

Ya está hecho. Los comentarios de esa página quedan desactivados. Los del resto de páginas y los del Blog permanecen activos.

lunes, 4 de enero de 2016

Obtener dirección de mi Proxy y configurar Putty

Estoy ahora mismo conectado a la Wifi de una biblioteca pública.
Resulta que necesitaba acceder un momento a mi servidor virtual por SSH y también a otro programa de escritorio de mi proveedor del VPS.
Ninguno de los dos funcionaba, debido a que estoy detrás de un Proxy, como suele ocurrir en estos lugares.
Por lo tanto necesitaba configurar el Proxy de la biblioteca en mis aplicaciones. ¿Cómo obtener la dirección del Proxy? Sencillo, tan sólo hay que acceder a una página del estilo de http://www.cualesmiip.com/ y nos dirá nuestra dirección IP y en caso de estar navegando a través de un Proxy también nos dará su dirección.

Ahora con esa dirección del Proxy accedemos a los menús de configuración del Proxy de nuestras aplicaciones.

En caso de Putty quedará así:


Una vez hecho esto volver a la sección de Session de Putty y guardar. Si no se hace esto último no tomará el proxy que acabamos de introducir, es necesario guardarlo primero.