Entradas

problemas con Identity al insertar datos

Hoy tuve un problema, tenia que traerme unos datos de una base de datos. hasta ahi nungun problema, genere el script con el Aqua data Studio y se veia todo bien. pero cuando trate de insertarlo en otra base de datos me reclamo por el indentity. y claro los insert exportados traian el id por cada fila. Entonces averiguando por ahi, ese identity se puede desactivar de la siguiente forma: SET IDENTITY_INSERT [dbo].[PERSON] ON GO INSERT INTO [dbo].[PERSON]([Id], [CreateDate]) VALUES(1, '20090428 17:01:00') GO SET IDENTITY_INSERT [dbo].[PERSON] OFF GO y listo el insert se ejecuto correctamente. lo que si me llama la atencion que a simple vista el ON y el OFF estan al revez, pero estan bien. mi sentido comun dice que deberia ser alrevez pero bueno. Esto es para Sql Server -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

Problema de Fisolofos, comunicacion entre procesos

Imagen
En mi Clase de sistema operativo, nos dieron una tarea, es el tipico ejemplo de los filosofos, donde hay 5 filosofos, y solamante 4 tenedores. la idea es optimizar la comunicacion entre los procesos y optimizalos. Cada filoso puede comer siempre y cuando tenga 2 tenedores asi que por logica, como maximo pueden haber 2 filosos comiendo, y el resto pensando, meditando o espera, como quieran llamarle. Aqui hay ejemplo en C, que encontramos muy bueno. #include <pthread.h> #include <semaphore.h> #include <stdio.h> #define N 5 /*num. de filosofos*/ #define IZQ (i-1)%N /*vecino izquierdo de i*/ #define DER (i+1)%N /*vecino derecho de i*/ #define PENSANDO 0 #define CON_HAMBRE 1 #define COME 2 pthread_t filos[N]; /*hilos que representan a los filósofos*/ sem_t mutex ; /*semáforo para la sección crítica*/ sem_t s[N]; /*semáforos para los filósofos*/ int estado [N] ; /*estado actual de cada filósosfo*/ /* el filos...

buscar textos en procemientos almacenados.

hace unos dias, vi aun compañero de trabajo buscar texto en los procedimientos almacenados. que es bastante util, cuando queremos ver cuando se hace un insert a una tabla o cosas por el estilo. select SUBSTRING(text,0,40) from syscomments where text like '%textoABuscar%' Remplazen el "textoABuscar" por lo que quieran buscar. esto es para Sql Server -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

Backups automáticos en SQL Server 2005

hoy estuve con Paul, un compañero de trabajo cuestienandonos la mejor forma de hacer respaldos en Sql Server de forma Automatica. primero hay que generar un script al cual llamaremos backup.sql y lo crearemos en c:\ DECLARE @fecha VARCHAR(50) DECLARE @archivo VARCHAR(50) SET @fecha = CONVERT(VARCHAR(4), YEAR(GETDATE()))+'-'+ CONVERT(VARCHAR(2), MONTH(GETDATE()))+'-'+CONVERT(VARCHAR(2), DAY(GETDATE())) SET @archivo = 'C:\tmp\BD_'+ @fecha +'.bak' ALTER DATABASE BD SET SINGLE_USER WITH ROLLBACK IMMEDIATE BACKUP DATABASE BD TO DISK = @archivo ALTER DATABASE BD SET MULTI_USER GO EXIT Ojo en hay que Cambiar DB por el nombre de la base de datos. Ademas este script cambia la Db a "MULTI USER". luego crearemos backup.bat, con el siguiente contenido SQLCMD -S(local)\SQLEXPRESS -E -i"C:\backup.sql" "C:\Archivos de programa\WinRAR\rar" a BACKUP.rar c:\TMP\*.* ECHO S | DEL c:\TMP Utilizamos la utilidad SQLCMD para que ejecute en backup....

Svn Diff View mi primer proyecto openSource :) .

Imagen
Svndiffview es una aplicacion bastanta pequeña, pero con una utilidad bien especifica. Svndiffview es un site que sirve para ver las diferencias entre una revision contra la revision anterior. su uso es muy simple. Ademas las diferencias entre archivos las muestra de forma bastante intuitiva y amistosa. Se hizo en python, con pySvn. esta bajo Django. Ademas por costumbre se uso mochikit para js, ya que es una libreria muy poderosa. Aqui ahi mas info de la aplicacion http://code.google.com/p/svndiffview/ Use como base para este desarrollo, un proyecto open source llamado codeflow , desarrollado por Leo Soto . Bueno aqui les dejo unas capturas de la aplicacion. -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

Un proyecto no solo es programar[Herramientas de apoyo]

Muchas veces un proyecto se complica o facilita independiente de que el equipo tenga un nivel tecnico alto. Para facilitar cosas Anexas al desarrollo existen varias herramientas de automatizacion y de apoyo, la mayoria son openSource,Free o como quieran llamarles. Aqui detallo algunas que por lo menos para mi son fundamentales, a lo mejor voy a estar muy orienta a .net. Sistema de control de versiones: Hay muchos cvs, ,Svn, soursafe, etc. pero el que mas sobresale es Svn. la gracia de usar Svn serian Codigo respaldado. Posibilidad de trabajar en equipo. Posibilidad de tener acceso a todo el historial de cambios, por archivo o proyecto completo. poder volver atras en cambios que pudiesen estar malos. Para mi ya seria muy complicado trabajar sin svn, o algun sistemas de estos, mas cuando trabajas en equipo.[aun recuerdo mi primer trabajo donde no existia nada de eso, y se me perdian a menudo los fuentes :)]. Esto no importa en el lenguaje que trabajes solo almacena historial ...

mi primer sort con un Delegate :)

Alguna vez hace mucho tube que ordenar, pero lo hice de una forma muy poco eficiente. Actualmente estoy con c# framework 2. La forma de ordenar es super simple aqui Dejo un ejemplo: list.Sort( delegate(Persona foo, Persona bar){ return foo.Edad.CompareTo(bar.edad); }); Para el framework 3 podemos usar expresines lambda de esta forma. list.Sort( (foo, bar) => foo.Edad.CompareTo(bar.Edad)); -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com