miércoles, 21 de marzo de 2012

"Windows no puede iniciar apache Tomcat 6 en Equipo local. Para más información, revise el registro de sucesos del sistema. Si este no es un servicio de Microsoft, póngase en contacto con el proveedor" Apache Tomcat 6.0

Buenas hoy tuve un problema al instalar Apache Tomcat 6.0, ya que despues despues de algun tiempo estoy volviendo a programar en java, y ya teniendo instalado el IDE Netbeens, necesitaba instalar ahora Apache Tomcat, lo cual me volvio a dar el mismo problema que ya me habia sucedido hace mas de un año,cuando  intentamos iniciar el servicio Apache,nos da la excepción "Windows no puede iniciar apache Tomcat 6 en Equipo local. Para más información, revise el registro de sucesos del sistema. Si este no es un servicio de Microsoft, póngase en contacto con el proveedor", motivo por el cual hoy he decido publicarlo, veamos primero tenemos que agregar la ruta del JDK OSEA :

C:\Program Files (x86)\Java\jdk1.6.0_21\bin

a nuestra variable de entorno Path seguida de un punto y como (;) debe quedar algo  asi:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Program Files (x86)\Rational\common;C:\Program Files (x86)\Java\jdk1.6.0_21\bin



Luego iniciamos de nuevo el servicio y listo !!! ;


Espero les sirva

Saludos ,

martes, 20 de marzo de 2012

shrink log Transaction de SQL Server 2008

Hay algunas veces cuando nos damos cuenta que nuestra BD esta muy pesada, entonces nos ponemos pensar cual es el motivo, en mi caso el motivo principal fue que me di cuenta que el Log habia crecido demasiado, la causa fue por las transacciones realizadas en un ambiente de pruebas, la solucion sencilla y eficaz fue :

  1. Haz una copia de seguridad de Nuestra base de datos.
  2. Ponemos la BD modo SIMPLE -  DataBase/Propiedades/Opciones/Recovery Model /Simple
  3. Encogemos el archivo Log,  Database/Tareas/shrink/Files/ File Type/ Log/reorganización de las páginas antes de liberar espacio no utilizado(reorganize pages before releasing unused space)/Encoger archivo.
  4. Ponemos la BD en modo FULL otra vez y Listo.

Espero les sirva

Saludos.

viernes, 16 de marzo de 2012

with(RowLock,Xlock) SQL SERVER 2008 Bloqueos Exclusivos

Buenas en esta ocasion hablaremos sobre los bloqueos exclusivos en SQL SERVER, ya que nos dimos con un problema.

PROBLEMATICA :
Esta semana estuvimos desarrollando el modulo de Produccion, en este modulo habia un requerimiento especial,nos prohibian el uso del IDENTITY, creo que la mayoria de los desarrolladores principiantes, estan muy acostumbrados al uso del IDENTITY , el requerimiento era para la generacion de Nro de Lotes, en esta tabla no se podia perder ni un solo correlativo, tambien nos pedian el mismo requerimiento para los codigos de todas las tablas.


SOLUCIÓN : 
Bueno en SQL SERVER (2000- 2008), existe una instruccion para resolver este problemas, que es,
with(RowLock,Xlock) , con esta instruccion se obtienen bloqueos exclusivos por fila, es decir puedo bloquear la fila de una tabla, mientras mi transaccion este activa, el problema no es en la BD si no en la aplicación, es decir el SQL CLIENT de .Net no reconoce que la transaccion es exclusiva Y NOS botara una excepción,

Vamos a resumir esta instruccion
 with(RowLock,Xlock) 

RowLock  = Bloquea la fila indicada en el Select. 
 Xlock =  Hace que el bloque sea exclusivo.

Aqui un pequeño basico ejemplo.

CREATE PROC PA_AGREGAR_A
AS 
declare @correlativo numeric
declare @codigoNuevo numeric

select @correlativo  =  CORRELATIVO
from CORRELATIVO
with(RowLock,Xlock)

set @codigoNuevo = @correlativo  +  1

insert into  A values (@codigoNuevo,'Nuevo')

update  CORRELATIVO
set CORRELATIVO.CORRELATIVO = @codigoNuevo



Bueno siendo ya casi media noche me despido 

Saludo.
 

sábado, 10 de marzo de 2012

LA VIDA DEL DESARROLLADOR - RELAX

EN ESTA OCASION UN PEQUEÑO RELAJO, COMO MUCHOS YA HEMOS ESCUCHADO, NUESTRO OFICIO TIENE UN GRAN PARECIDO A LA PROSTITUCION, OJO NO ES UNA BROMA PUES ES LA PURA VERDAD, XD, ASI QUE SI PIENSAS SER DESARROLLADOR HE AQUI UNA PEQUEÑA LISTA DE LO QUE TE ESPERA  XD, LO QUE HARAS POR LO MENOS UN BUEN TIEMPO DE TU VIDA;

  • Generalmente, trabajas hasta tarde. ¡Como las putas!
  • Generalmente, eres más productivo por la noche. ¡Como las putas!
  • Te pagan para mantener al cliente feliz. ¡Como a las putas!
  • Cobras por hora, pero tu tiempo se extiende hasta que termines. ¡Como las putas!
  • Si eres bueno, nunca estás orgulloso de lo que haces. ¡Como las putas!
  • Te recompensan por satisfacer las fantasías de tus clientes. ¡Como a las putas!
    Te sería difícil tener y mantener una familia. ¡Como a las putas!
  • Cuando te preguntan en qué trabajas, no lo puedes explicar. ¡Como las putas!
  • Tus amigos se distancian de ti, y tú sólo andas con otros iguales que tú. ¡Como las putas!
  • El cliente paga tu cuenta del hotel, y por horas trabajadas. ¡Como a las putas!
  • Evalúan tu "capacidad" con horribles pruebas. ¡Como a las putas!
  • El cliente siempre quiere pagar menos y, encima, quiere que hagas maravillas. ¡Como las putas!
  • Cada día, al levantarte, dices: "¡NO VOY A HACER ESTO TODA MI VIDA!". ¡Como las putas!
  • Sin conocer nada de su problema, los clientes esperan que les des el consejo que necesitan. ¡Como las putas!
  • Si las cosas salen mal, es siempre culpa tuya. ¡Como las putas!
  • Tienes que brindarle servicios gratis a tu jefe, amigos y familiares. ¡Como las putas!
SALUDOS ,

XD  XP