martes, diciembre 14, 2010

Utilizar tablas temporales en Microsoft SQL 2005


Saludos amigos en esta ocasión leyendo me encontré con un tema muy interesante acerca de las tablas temporales en SQL, les dejo lo que traduje del tema con una explicación y ejemplo de como crear tablas temporales locales, globales y variables de tabla, dentro del Motor de Base de Datos de SQL Server 2008.
Tablas Temporales.
Las tablas temporales son consideradas tablas regulares, y estas se almacenan automáticamente en la base de datos de tempdb.
Las tablas temporales se pueden usar en los siguientes escenarios:
Como alternativa a los cursores: por ejemplo, en lugar de utilizar un cursor de Transact-SQL para recorrer un conjunto de resultados y realizar tareas basadas en cada fila, en su lugar puede utilizar una tabla temporal. Usando un bucle WHILE, puede recorrer cada fila de la tabla y realizar la acción de la fila especificada, posteriormente debe eliminar la fila de la tabla temporal.
Como almacenamiento incremental de conjuntos de resultados: Por ejemplo, imaginemos que tiene una sola consulta SELECT que realiza una combinación “JOIN”con diez tablas. A veces las consultas con varias combinaciones “JOINS” pueden funcionar de manera incorrecta. Una técnica para intentar es la de fraccionar o fragmentar una consulta grande en consultas más pequeñas. Si usamos tablas temporales, podemos crear conjuntos de resultados intermedios basados en consultas de menor tamaño, en lugar de intentar ejecutar una consulta única que sea demasiado grande y de combinaciones múltiples “multi-joined”.
Como temporal en la sobrecarga baja de búsqueda de tabla: Por ejemplo, imagine que usted está utilizando una consulta que tarda varios segundos en ejecutarse, pero sólo muestra un pequeño conjunto de resultados, el cual desea utilizar en varias áreas de su procedimiento almacenado, pero cada vez que se llama se incurre en el tiempo de ejecución de la consulta general. Para resolver esto, puede ejecutar la consulta una sola vez en el procedimiento, llenando una tabla temporal, de esta manera se puede hacer referencia a la tabla temporal en varios lugares en su código, sin incurrir en una sobrecarga de resultados adicional.
Existen dos tipos de tablas temporales: Globales y Locales.
Las tablas temporales Locales se escriben anteponiendo el símbolo # y tablas temporales Globales con el doble símbolo ##.
Tablas temporales Locales.
Las tablas temporales Locales están disponibles para usarse por cada conexión actual del usuario que los cree.
Varias conexiones pueden crear una tabla temporal con mismo nombre, esto solo para para tablas temporales Locales sin causar conflictos. La representación interna de la tabla local tiene un nombre único, para no estar en conflicto con otras tablas temporales con el mismo nombre creado por otras conexiones en la tempdb.
Las tablas temporales locales son eliminadas con el comando DROP o se eliminan automáticamente de memoria cuando se cierra la conexión del usuario.
Creando la tabla temporal Local:
CREATE TABLE #ProductosResumen
( idProducto int NOT NULL PRIMARY KEY,
  nombre varchar(75) NULL,
  precio smallmoney NULL
);
Insertando datos en la tabla temporal global.
INSERT #ProductosResumen (idProducto, nombre , precio)
SELECT id,nombre, precio FROM dbo.DEMO_PRODUCTO
ORDER BY nombre;
Seleccionando los datos de la tabla temporal.
--Seleccionando los datos de la tabla temporal
SELECT * FROM #ProductosResumen; 

-- Resumen de precios de la tabla temporal
SELECT AVG(precio) FROM #ProductosResumen;

Resultado.
image
Eliminando la tabla.
-- Eliminando la tabla temporal
DROP TABLE #ProductosResumen;
Nota: Para que el ejemplo funcione deben de ejecutar en un solo bloque de instrucciones todo el código que coloque anteriormente. Para este caso yo llene mi tabla temporal con datos de una tabla que ya tenia creada en la base de datos, ustedes pueden utilizar un insert normal.
Tablas Temporales Globales.
Las tablas temporales Globales tienen un alcance diferente al de las tablas temporalesLocales. Una vez que una conexión crea una tabla temporal Global, cualquier usuario con permisos adecuados sobre la base de datos puede acceder a la tabla. A diferencia de tablas temporales Localesno se pueden crear versiones simultáneas de una tabla temporal Global, ya que esto generará un conflicto de nombres.
Las tablas temporales Globales de eliminan explícitamente de SQL Server ejecutandoDROP TABLE. También se eliminan automáticamente después de que se cierra la conexión que la creo, la tabla temporal Global no es referenciada por otras conexiones, pero es muy raro ver que se utilicen tablas temporales Globales en bases de datos en producción.
Es importante considerar cuando una tabla va o debe ser compartida a través de conexiones, se debe crear una tabla real, en lugar de una tabla temporal Global. No obstante, SQL Server ofrece esto como una opción.
Creando la tabla temporal Global:
--Creando la tabla temporal Global
CREATE TABLE ##Roles
( idRol int NOT NULL PRIMARY KEY,
  nombre varchar(30) NULL,
  activo bit NULL
);
Insertando y seleccionando datos de la tabla temporal global:
-- Insertando datos en la tabla temporal global
INSERT INTO ##Roles
VALUES(1,'Administrador',1),
      (2,'Supervisor',1),
      (3,'Programador',0)

-- Seleccionando los datos de la tabla temporal global
SELECT * FROM ##Roles;
Resultado:
image 
Eliminando la tabla temporal global desde la conexión original que la creo.
-- Eliminando la tabla temporal global
DROP TABLE    ##Roles;
Variables de Tabla.
Por otro lado tenemos las Variables de Tabla que son un tipo de datos que puede ser utilizados en un lote Transact-SQL (Batch), procedimiento almacenado o función; estas variables de tabla son creado y definidas de forma similar a una tabla, sólo con un alcance de vida estrictamente definido. Las Variables de tabla suelen ser buenos reemplazos de tablas temporales siempre y cuando el conjunto de datos es pequeño.
Razones para usar las variables de tabla:
  • Duración o alcance. La duración de la variable de tabla sólo vive durante la ejecución del lote, función, o procedimiento almacenado.
  • Tiempos de bloqueo más cortos. Por el estrecho alcance o tiempo de vida.
  • Menos re compilaciones cuando se usa en los procedimientos almacenados.
Como se menciono anteriormente, hay inconvenientes para utilizar las variables de tabla. El rendimiento de las variable de tabla se ve afectado cuando el resultado es demasiado grande o cuando los datos de la columna de cardinalidad son fundamentales para la optimización del proceso de consulta.
La sintaxis para crear una variable de tabla es similar a la de crear una tabla normal, se utiliza la palabra clave DECLARE y el nombre de tabla, anteponiendo el símbolo @:
DECLARE @TableName TABLE

(column_name <data_type> [ NULL | NOT NULL ] [ ,...n ] )
Creando una variable de tabla:
-- Creando la variable de tipo tabla.
DECLARE @EstatusUsuarios TABLE
( idEstatus int NOT NULL PRIMARY KEY,
  nombre varchar(30) NULL
)
Insertando y seleccionando datos de la variable tabla:
-- Insertando en la variable de tipo tabla.
INSERT INTO @EstatusUsuarios VALUES (1,'Activo'),
                                    (2,'Inactivo'),
                                    (3,'Bloqueado')

-- Consultando datos de la variable de tipo tabla.
SELECT * FROM @EstatusUsuarios;
Al terminar la ejecución del batch o bloque de instrucciones se eliminara la variable tabla, o si colocamos una instrucción GO automáticamente se eliminara y no la podremos utilizar como los muestro en el siguiente ejempló, recuerde que los ejemplo para claridad los coloque separados, pero los debe de ejecutar completos como lo hago abajo para el caso de la variables de tabla:
-- Creando la variable de tipo tabla.
DECLARE @EstatusUsuarios TABLE
( idEstatus int NOT NULL PRIMARY KEY,
  nombre varchar(30) NULL
)

-- Insertando en la variable de tipo tabla.
INSERT INTO @EstatusUsuarios VALUES (1,'Activo'),
                                    (2,'Inactivo'),
                                    (3,'Bloqueado')

-- Consultando datos de la variable de tipo tabla.
SELECT * FROM @EstatusUsuarios;

-- Al ejecutarse el go o el bloque de instrucciones
--la variable tabla se eliminara auitomaticamente.
Go

SELECT * FROM @EstatusUsuarios;
Como podrán notar en el primer select nos regreso:
image
Y para el segundo select:
imageEsto es por que como lo comente anteriormente el tiempo de vida de la variable tabla termina al ejecutarse el bloque de instrucciones, en este caso termino con el GO.
Cuando encontremos problemas de rendimiento, debemos de asegurarnos de probar todas las soluciones y alternativas, y no necesariamente asumir que una de las opciones (tablas Temporales) son menos deseables que otras (variables de tabla).
Espero les sea de ayuda, se que esta un poco largo el Post, pero creo vale la pena leerlo.

Nuestros patrocinadores

Creo que ya va siendo hora de mencionar a nuestros patrocinadores, y por supuesto, si quieres estar en esta lista, sólo deja tu comentario con tu información y con gusto me pondré en contacto contigo.


SMKAPPS


                                               

                                            


jueves, diciembre 09, 2010

Barra de herramientas

Buenas noticias!

Barra de Herramientas de Mundo Bizarro!

Ya tenemos nuestra propia barra de herramientas!!  Desde ella podremos:

  • Buscar en el web (sugiero que escogan Busqueda Bizarra como su buscador).
  • Leer el Blog de Mundo Bizarro por RSS.
  • Contiene una marquesina mostrando los temas de Mundo Bizarro.
  • Desde allí podemos entrar a nuestro "FaceBook" y ver nuestras notificaciones, noticias recientes, perfil, mensajes, eventos y ver y subir fotos y videos a nuestra cuenta.
  • También podrán leer los Tweets Bizarros de algunas personas que creo que valen la pena leer.
  • Chatear en nuestro canal de Chat Bizarro.
  • Y tener en una pantalla de 3D los videos más populares de Youtube!
Descárguenla, disfruten su contenido y fácilmente realicen búsquedas desde una barra en su navegador sin tener que abrir una página de algún buscador!

miércoles, diciembre 08, 2010

Como mostrar noticias y feeds RSS en tu sitio web.

Quizá muchos se han preguntado como poder mostrar (DE MANERA COMPLETAMENTE GRATUITA!) noticias y enlaces RSS en tu sitio web personal, bueno, aquí les va el como:

   Lo único que tienen que hacer es seguir el siguiente vínculo: Google Ajax Feed Api seguir las instrucciones y listo, jajaja, ok, les diré los pasos para que vean que si es así de fácil.


Primero les muestro la imagen de lo que van a ver en el enlace:
Aqui lo único que tienen que hacer es personalizar el como quieren que se vea su lector de RSS:
  • Se escoge si quieres que se vea vertical, horizontal o vertical apilado.
  • En el campo de "Feed Expression" introduces palabras claves para el tipo de noticias que quieres mostrar y automáticamente te arroja los url´s de donde los va a tomar, si quieres verlo antes de insertarlo en tu página dale click a "Preview".
  • Por último dale click al botón "Generate Code", copias el código que se te proporciona y lo pegas en el espacio que quieres que se vea en tu página.
LISTO!  Con esto realizaste un "mesh" para incluir noticias RSS en tu propio sitio web!

Quieres crear un foro gratis?

Crear foroEncontré este sitio http://www.foroactivo.com/ para crear un foro gratis 

Ademas de ofrecerte un servicio gratis e ilimitado de hosting para tu sitio , te regala un nombre de dominio personalizado.



Podras tener todas esas ocpiones gratis 

* Subdominio personalizable
* Más de 40 mods preinstalados
* Sube tus propios archivos
* avatares preinstalados
* Opción de subir tus propios avatares
* Cientos de smilies
* Espacio y tráfico ilimitados
* Sistema anti-spam avanzado
* Alta automática
* Sin publicidad
* Más de 3000 temas / skins con este sitio http://es.hitskin.com/
* Copias de seguridad y back up con fechas escogidas
* Juegos de papeles
* chatbox
* Archivos de todos tipos
* Transformar foros en blogs y vice versa
* sistema de reputación y de puntos...

te lo aconsejo

martes, diciembre 07, 2010

Como instalar Windows desde un USB

La pregunta que me han hecho muchas muchas veces se responde facil =D

SIRVE PARA TODOS LOS WINDOWS DESDE WINDOWS XP


-necesitamos un CD de Windows XP, Vista o Windows 7
(solamente si tenemos otra computadora, si no, el iso es suficiente)
-una llave usb (duuuuh) o lector de tarjetas de por lo menos 1 gb de capacidad si es XP o 4 gb si es Vista o 7



PASO 1.

Descomprimimos el ISO del sistema operativo o copiamos todo el CD a una carpeta en nuestro sistema.

PASO 2

descargamos el programa GRATUITO llamado WinToFlash (alias WTF)
http://rapidshare.com/files/38514075....0005_beta.zip


PASO 3

Ir al "Mi PC" y fijarse que letra tiene asignado nuestro lector de tarjetas o llave USB


PASO 4

Abres el programa "WinToFlash.exe" y te saldrá esto 



y seguimos el asistente, son dos pasos, solo te pide la ubicacion de donde estan los archivos de Windows (lo hicimos en el Paso 1) y la unidad a donde se irán los archivos (paso 3). 

Es realmente facil y el resultado será una USB booteable.

PASO 5

metemos la usb resultante en la computadora que querramos instalar el Windows.

nos metemos al Bios del sistema, eso se puede hacer prendiendo la computadora en la que querramos instalar y apretar f12 o esc o cualquier combinacion que te diga ahi mismo mientras sale el logo de la marca de tu computadora (acer, toshiba, chony, steren o lo que sea que tengas)

en realidad tambien puedes ocupar la opcion "boot menu" que te permite bootear desde el dispositivo que elijas.

Salimos de ahi y la computadora iniciará desde el USB que tienes metido (bueno, no tu, la computadora XD) y taraaan! ya estas instalando windows!

Como quitar Linux e instalar Windows en su equipo.

Si recuerdan, cuando instalan Linux en una PC no se puede instalar nuevamente Windows sólo insertando el disco de instalación y dándole instalar, así que para algunos curiosos que deciden instalar Linux para jugar con él y después no les gustó o no le entendieron nada de como se maneja, les pongo las instrucciones de como quitarlo por completo para instalar Windows nuevamente en su equipo.

Para instalar Windows en un sistema que tiene instalado Linux cuando desee quitar Linux, debe eliminar manualmente las particiones usadas por el sistema operativo Linux. La partición compatible con Windows se puede crear automáticamente durante la instalación del sistema operativo Windows. 

IMPORTANTE: Antes de seguir los pasos de este artículo, compruebe que dispone de un disco o CD-ROM de arranque para el sistema operativo Linux, porque este proceso quita completamente el sistema operativo Linux instalado en su equipo. Si tiene la intención de restaurar el sistema operativo Linux en una fecha posterior, compruebe que también dispone de una buena copia de seguridad de toda la información almacenada en su ordenador. Además, debe tener una versión completa del sistema operativo Windows que desea instalar. 

sistemas de archivos de Linux usan un "superbloque" al comienzo de una partición de disco para identificar el tamaño básico, la forma y condiciones del sistema de archivos. 

El sistema operativo Linux se instala generalmente en particiones del tipo 83 (originales de Linux) o 82 (de intercambio de Linux). El gestor de arranque de Linux (LILO) puede ser configurado para iniciarse desde:
  • El disco duro Master Boot Record (MBR).
  • La carpeta raíz de la partición de Linux.
La herramienta Fdisk que se incluye con Linux se puede utilizar para eliminar las particiones. (Hay otras utilidades que funcionan igual de bien, como Fdisk de MS-DOS 5.0 y posteriores, o puede eliminar las particiones durante el proceso de instalación.) Para quitar Linux de su equipo e instalar Windows:
  1. Quite de intercambio nativos, y las particiones de inicio que usa Linux:
    1. Inicie el equipo con la configuración de disquetes de Linux, escriba fdisk en el símbolo del sistema y, a continuación, presione ENTRAR. 

      NOTA: Para obtener ayuda de la herramienta Fdisk, escriba m en el símbolo del sistema y, a continuación, presione ENTRAR.
    2. Escriba p en el símbolo del sistema y, a continuación, presione ENTRAR para mostrar información de la partición. El primer elemento de la lista es un disco duro, la información de la partición 1, y el segundo la lista es del disco 1, partición 2 información.
    3. Escriba d en el símbolo del sistema y, a continuación, presione ENTRAR. Entonces se le pedirá el número de partición que desea eliminar. Tipo 1 y, a continuación, presione ENTRAR para eliminar la partición número 1. Repita este paso hasta que todas las particiones que se han eliminado.
    4. w Tipo y, a continuación, presione ENTRAR para escribir esta información en la tabla de particiones. Algunos mensajes de error se puede generar toda la información se escribe en la tabla de particiones, pero no deben ser significativos en este momento porque el paso siguiente es reiniciar el equipo y luego instalar el nuevo sistema operativo.
    5. Escriba q en el símbolo del sistema y, a continuación, presione ENTRAR para salir de la herramienta Fdisk.
    6. Inserte un disquete de arranque o un CD-ROM de arranque para el sistema operativo Windows en su equipo y, a continuación, presione CTRL + ALT + SUPR para reiniciar el equipo.
  2. Instalar Windows. Siga las instrucciones de instalación del sistema operativo Windows que desea instalar en su computadora. El proceso de instalación le ayuda a crear las particiones apropiadas en el equipo.

Los ejemplos de las tablas de particiones de Linux

Sola unidad de disco

Además, Linux reconoce más de cuarenta tipos de partición diferentes, tales como:
  • FAT 12 (tipo 01)
  • FAT 16> 32 M principal (tipo 06)
  • FAT 16 extendida (tipo 05)
  • FAT 32 w / o LBA principal (tipo 0b)
  • FAT 32 w / LBA principal (tipo 0c)
  • FAT 16 w / LBA (tipo 0e)
  • FAT 16 w / LBA extendida (tipo 0F)
Tenga en cuenta que hay otras maneras de quitar el sistema operativo Linux e instalar Windows que la anterior. El método anterior se usa en este artículo porque el sistema operativo Linux ya está funcionando y no hay más espacio en el disco duro. Hay métodos para cambiar tamaño de las particiones con software. Microsoft no es compatible con Windows instalados en particiones tratadas de esta manera. 

Otro método de eliminación de un sistema operativo desde el disco duro e instalar un sistema operativo distinto es usar una versión de MS-DOS 5.0 o posterior disco de arranque, un disco de inicio de Windows 95, Windows 98 o un disco de inicio que contenga la utilidad Fdisk. Ejecute la utilidad Fdisk. Si tiene varias unidades, hay cinco opciones, utilice la opción 5 para seleccionar el disco duro que tiene la partición que desea eliminar. Después de eso, o si sólo tiene un disco duro, seleccione la opción 3 ("Eliminar partición o unidad DOS lógica"), a continuación, elija la opción 4 ("Eliminar partición no-DOS"). A continuación debería ver las particiones no-DOS que desea eliminar. Normalmente, el sistema operativo Linux tiene dos particiones no-DOS, pero puede haber más. Después de eliminar una partición, use los mismos pasos para eliminar cualquier otro caso particiones no DOS. 

Después de las particiones se eliminan, puede crear particiones e instalar el sistema operativo que desee. Sólo puede crear una partición primaria y una partición extendida con varias unidades lógicas mediante Fdisk de MS-DOS versión 5.0 y posteriores, Windows 95 y Windows 98. El tamaño máximo de partición FAT16 primaria es de 2 gigabytes (GB). El mayor tamaño de unidad lógica FAT16 es de 2 GB. Para obtener información adicional, haga clic en el número de artículo siguiente para ver el artículo en el Microsoft Knowledge Base:
105074 MS-DOS 6.2 Preguntas y respuestas Particionado
Si va a instalar Windows NT 4.0 o Windows 2000, las particiones de Linux se puede quitar y crear nuevas particiones y formateado con el tipo de sistema de archivo durante el proceso de instalación. Windows le permite crear más de una partición primaria. La mayor partición que Windows NT 4.0 le permite crear durante la instalación es de 4 GB debido a las limitaciones del sistema de archivos FAT16 durante la instalación. Además, el 4 particiones de 64 GB uso tamaños de clúster KB. MS-DOS 6.xy Windows 95 o Windows 98 no reconocen 64 KB sistemas de archivos del clúster, por lo que este sistema de archivos es por lo general se convierte a NTFS durante la instalación. Windows 2000, a diferencia de Windows NT 4.0, reconoce el sistema de archivos FAT32. Durante la instalación de Windows 2000, puede crear una unidad FAT32 muy grande. La unidad FAT32 se puede convertir a NTFS una vez completada la instalación en su caso.

miércoles, diciembre 01, 2010

Configuración Microsoft Outlook 2010


Como configurar Outlook 2007

Para configurar una cuenta de correo en Outlook 2007sigue los pasos que te indicamos a continuación de forma gráfica. Si dispones de una versión anterior de Outlook los pasos son bastante parecidos aunque puede que las opciones varien un poco.

Sustituye los datos convenientemente: donde pone "nombredominio.com" debes poner tu nombre de dominio, que será del estilo de "hostalia.com", "google.es", etc...

1.- Abre el programa. En el Menú, selecciona la sección "Herramientas" y después la opción "Configuración de la cuenta", como se muestra a continuación:
2. En la siguiente ventana selecciona "Nuevo..." para comenzar la configuración de una nueva cuenta de correo:

3. En la siguiente ventana selecciona la primera opción:


4. En la ventana que se muestra a continuación tan sólo debes marcar la última opción y pinchar en SIGUIENTE.

5. Selecciona la primera opción y pincha en SIGUIENTE:
6. Rellena los siguientes campos (recuadro verde) y después accede a "Más configuraciones" (cuadro rojo):
7. En la pestaña "Servidor de salida" marca la opción "Mi servidor de salida (SMTP) requiere autenticación:



8. En la pestaña "Avanzadas" como servidor de salida ponemos "587".


Finalmente damos click en ACEPTAR todo y ya hemos terminado de configurar nuestra cuenta.

MSSQL 2005 Error 40 - No se pudo abrir una conexion al servidor SQL

Un error ha ocurrido mientras se establecia una conexión al servidor mientras se intentaba conectar a SQL server 2005, esta falla puede ser causada por el echo que debajo de las opciones por default, el servidor SQL no permita conecciones remotas (Error: 40)

Ok, en inglés: An error has occurred while establishing a connection to the server when connecting to SQL server 2005, this failure may be caused by the fact that under default settings SQL server does not allow remote connection. ( provider: Named Pipes Provider, error: 40 – could not open a connection to SQL server. ) 

Solución:

  1. Asegurese que el servidor de SQL está corriendo así como la instancia a la que está tratando de conectarse.
  2. Tu Firewall (Cortafuegos) no debe de estar bloqueando el puerto de SQL (usualmente el 1433).
  3. Ir a Computer Management >> Service and Application >> SQL Server 2005 Configuration >> Network Configuration y habilitar el protocolo TCP / IP.  Asegúrese que el puerto del servidor de SQL es el 1433 como predeterminado.
  4. Ahora sólo hay que seguir este artículo KB de MSDN dependiendo del servidor que esté utilizando: http://support.microsoft.com/default.aspx?scid=kb;EN-US;914277
     Listo, ya tienen su conexión a MSSQL 2005 nuevamente.

martes, noviembre 23, 2010

Diagrama de Flujo a C++

Ok, Ok, van a decir que ahora he estado posteando mucho, pero es que me he encontrado con algunas cosas que creo que les van a interesar.  Navegando con todo el ancho de banda que me dan, encontré el programa Raptor, maravillosamente para todos los que quieren programar y no pasan de crear un diagrama de flujo, ó, para los programadores que quieran verificar su aplicación contra un diagrama de flujo, este programa (que es totalmente gratuito) les permite traducir (LITERALMENTE) traducir sus diagramas de flujo a un totalmente funcional código en C++ y de allí exportarla como aplicación para su instalación y uso.  Muy buen programa tanto para programadores novatos como experimentados, chequenlo: http://raptor.martincarlisle.com/

Filtrado Web

Aqui de nuevo con más novedades, bueno, más bien dicho con más herramientas de ayuda.  Ésta vez les quiero recomendar un buenísimo Red Hat en el que vienen ya preinstalados un proxy, filtrado de páginas web, DHCP server, DNS server, administrador de ancho de banda, antivirus, antimalware, servidor de correos, servidor web con PHP, RUBY y PHYTON, multi - wan, vpn, anti - spam, proteccion contra intrusos, protección contra phishing, filtrado web por contenido, servidor de impresion, servidor de archivos con conexión a Windows (SAMBA), MySQL y otras monerías, se llama: ClearOS.  Pero sin más premicias les dejo el vínculo para que lo puedan analizar ustedes mismos, yo lo utilizo dentro de la oficina donde trabajo y ningún usuario se me escapa vivo!  Con esto les puedo reestringir el acceso a páginas web, descargas de archivo y manteno mi red un poco más segura.  El vínculo es http://www.clearfoundation.com/Software/overview.html.

     Divértanse y recuerden, los de sistemas siempre nos divertimos más que otros.

martes, octubre 05, 2010

MSSQL 2005, fallo la conexion con el usuario 'sa'



Hola, hoy les traigo la solución a un problemita con el que nos hemos topado algunos informáticos (en especial los que nos gusta llenar de virus nuestro servidor) :D

Algunos virus o "malware" cambia la contraseña para el usuario ´sa´ en la base de datos de Microsoft SQL 2005 y no podemos entrar a realizar ningun cambio, respaldo, o cualquier otra cosa que tenga que ver con la administración o conexión a la base de datos, el chiste es que tengas tu servidor configurado para que a parte de ingresar con la el usuario ´sa´, también lo tengas configurado para entrar con el usuario y contraseña de Microsoft Windows, ok, empecemos a ver que es lo que vamos a hacer antes de que nos asustemos, en realidad es muy simple:

1.- Entra a tu instancia de MSSQL utilizando la autentificación de windows en lugar del usuario y contraseña de ´sa´.

2.- Ve a la carpeta de ´Security´ y allí expande los ´logins´, busca el de ´sa´ y haz doble click en él, al abrirse las propiedades borra la contraseña que tiene en ese momento y cambiala por la de tu predilección, confirma la contraseña, aplica los cambios y acepta (botón ÓK´) y listo!

No te deja abrir las propiedades, híjole, eso si que es triste ... pero no te preocupes, sólo tendrás que correr este query sobre la base de datos ´master´:




ALTER LOGIN sa
WITH password = 'tucontraseña' (si la contraseña es en blanco entonces usa = '') unlock,
check_policiy = off,
check_expiration = off


Y listooooooooo! con eso debes de solucionar el problema, recuerda, si no configuraste MSSQL 2005 para que entres con la autentificación de windows, entonces si estás en problemas y vas a tener que reinstalar tu instancia, trata de apagar el servicio de MSSQL, copia tus bases de datos como respaldo, reinstala y vuelve a colgarlas con un ´attach´.


Que no se te olvide limpiar tu servidor, ya que lo más probable es que lo tengas envirulado.


Saludos, si les gusta el artículo o quieren agregar algo, sólo déjenlo en sus comentarios.

viernes, julio 04, 2008

Visual Basic 2005: Uso de Timers

Hola, hoy veremos como utilizar timers dentro de Visual Basic 2005 para uso dentro de nuestras aplicaciones.

Iniciaremos por crear un proyecto:

image

Como comunmente sucede, al crear el proyecto se abre el Form1.vb, éste es el que utilizaremos para realizar nuestra práctica. (Nota: Recuerda que al igual que cualquier código, este puede ser utilizado para los fines que les convengan, yo sólo pongo un ejemplo para que de allí se puedan basar para realizar sus aplicaciones.)

Ahora insertaremos una etiqueta en nuestro formulario:

image 

Después de haber insertado nuestra etiqueta ahora insertaremos el timer.

image 

Las propiedades del Timer que nos interesan son: Enabled e Interval.

Enable nos dice si el Timer estará habilitado desde que se carga el formulario o no, y el Interval nos dice el intervalo de ms (milisegundos) que tomara para llevar a cabo hasta que realice nuevamente la operación o rutina que le indiquemos.

OK, ahora hay que dar doble click en la cinta de abajo donde se encuentra incluido el nombre del Timer para allí ingresar la rutina que se desea que se realice con este.  Al dar doble click se mostrará codigo similar a esto:

Public Class Form1 


 


Private Sub Timer1_Tick(ByVal sender As System.Object

, ByVal e As System.EventArgs) Handles Timer1.Tick



 


    End Sub


End Class



.Nosotros empezaremos a insertar nuestra rutina justo antes de donde dice "End Sub".



Intentemos mover nuestra etiqueta de izquierda a derecha, así que insertaremos las siguientes líneas de código:




        Label1.Left = Label1.Left - 100



 



De tal manera que ahora nuestro código se verá de la siguiente manera:




Public Class Form1


 


Private Sub Timer1_Tick(ByVal sender As System.Object

, ByVal e As System.EventArgs) Handles Timer1.Tick



        Label1.Left = Label1.Left - 100


    End Sub


End Class




 



Con esta rutina, le estamos diciendo a nuestra etiqueta llamada Label1, en su propiedad de posicionamiento izquierdo, que al ejecutarse el código dentro del timer, esta se moverá 100 px a la derecha.



Y por su puesto, para que funcione, la propiedad de "Enable" tiene que estar puesta a "True" y el "Interval" yo lo pondré a 1000 para que la rutina se ejecute cada segundo.  Ahora si, guarden el proyecto y presionen la tecla F5 para correr la aplicación y empezar el depurador.  Al iniciar la aplicación veremos como nuestra etiqueta se recorre hacia la derecha.



Los Timers en Visual Basic son muy utiles para realizar rutinas repetitivas en intervalos fijos de tiempo, incluso se puede llegar a poner 2 o más timers con rutinas que permitan habilitar y deshabilitar los timers correspondientes a las rutinas que queremos correr.



'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''



Espero que les haya ayudado, si tienen alguna pregunta o comentario al respecto por favor escríbanlos aquí y con gusto los responderé tan pronto como sea posible.



Saludos.!!!



lunes, junio 30, 2008

Acabo de encontrar como actualizar mi blog automáticamente!!

32  Hola, yo se que va a parecer promo, pero la verdad es que ni siquiera le había dado la oportunidad a Microsoft de rectificarse en algunas cosas.
Hoy encontré el Windows Live Writer y está muy bien, permite editar el blog que tengas mostrándolo tal como quedará la entrada, no primero escribiéndolo y después dando click a vista previa y regresando, y regresando, y regresando ...
Creo que vale la pena que le hechen un vistazo, por otro lado, el contra que ví es que sólo tiene soporte para diccionario en Inglés, pero dejenme experimentar un poco más en el y les platico.
  Saludos, nos vemos y disfruten del calor mientras se pueda.
Technorati Tags:

jueves, julio 12, 2007

Ya es muy tarde ....



Hoy si que me pase el alto y con la luz roja brillante!!! Mi dia no fue del todo aburrido, bueno, quiza para algunos lo es, hoy estuve aprendiendo como instalar y configurar un servidor Apache, lo hice todo bien, pero a la hora de agregar el php alli fue donde me fallo la configuracion, asi que lo voy a tener que resolver, pero en otro dia. Soy Lic. en Mkt y estoy cursando una Lic. en Sistemas Computacionales Administrativos y asombroso, pero estoy viendo de donde saco dinero, ahorita si que no se puede, esta de la chingada, empeze en un negocio de creacion de aplicaciones y software y diseño y arquitectura web, ayer mande mi primer plantilla web de este trabajo, a ver como nos va a mi y a mis socios. Tambien ando metido en una campaña politica, pero ya ven que alli no sale mucho dinero, uno se tiene que esperar a que gane su candidato y despues a ver si se acuerdan de ti para darte algo de trabajo, es un tiro largo, pero si se cumple se gana bien (o al menos eso dicen). Ya me voy a dormir, en realidad hoy no tengo mucho que decir, solo que tengo mucho sueño y ya me canse de estarme desvelando todos los dias, asi que voy a intentar no hacerlo mas.
Se cuidan mucho, espero que esten durmiendo agusto y espero yo tambien poder ser parte de la gente normal que si le da sueño en la noche.
PD. No coman de los tacos de la 6ta y Nafarrete, me toco ver cuando sacaban las tortillas de la bolsa como un ciento de cucarachos salian junto con las tortillas :-P
Hasta luego y sorry por el quemon que le di a la taqueria.

viernes, julio 06, 2007

Hoy me di cuenta lo que es el amor




Hoy no andaba en el trabajo para arriba y para abajo como cal... de pu..., fue divertido, le estuve dando duro a unas bases de datos y para despues terminar el dia con la famosa junta del viernes que empieza a las 5 pm y que aunque tu hora de salida de la oficina es a las 6pm no te vas de alli hasta las 8 pm (mierd...). Y yo que andaba que me pelaba por llegar a un partido de softball en el que juegan un para de primos mios, pero en realidad yo hiba por estar en las gradas con mi novia gritandole al umpire que es una bestia ciega y que deberia mejor de dedicarse a rascarse las pelotas todo el dia (como es muy probable que se la pasa haciendo). En fin, hasta raidolitos llevamos para auyentar a los ...ches zancudos. Pero, no se si les haya pasado, compran un refresco y estan esperando a saborear el ultimo trago (el mas delicioso) y tu novia te lo quita porque a ella se le antojo lo que tu estabas tomando, compras unas tostaditas con salsa y tu novia se come la ultima de las pinches tostadas porque se le antojaron las tuyas, bueno, esta vez prendi un cigarro y me lo estaba fumando muy agusto y justo cuando me lo hiba a terminar y lo llevaba a la boca para darle esa ultima tirada y aventar esa sabrosa bocanada de humo (si eres fumador entiendes de lo que hablo), esa delicia de acabarte el cigarro, y nada, apenas hiba a tocar la colilla mi boca cuando mi novia me la quita y se la fuma ella. En mi intento de tener yo la ultima tirada del cigarro chupe el humo de lo que quedaba y me queme el hocico y fue alli ... donde me di cuenta que no me molesto ... asi que despues de todo este choro, creo que me di cuenta que amar a alguien es dejarlos que se terminen tus cosas aunque sea el final lo que siempre disfrutas, y que no te moleste, que no se confunda con ofrecer lo que tu tienes, mas bien que te lo quiten y que no te moleste que lo hagan. Creo que eso es parte de amar a alguien, por que si hubiera sido uno de mis amigos, a esos si que les parto su madre en mil pedazos jajajaja.

Saludos a todos, piensen en la persona que aman y dejen que se coma la ultima roceta de maiz de la caja cuando vayan al cine.

Espero sus comentarios, saludos.

Arriba el BoRr@ss y el Darketernal!!!



Estimado BoRr@sS, la verdad no se como le hacias pero para muchos aqui en Mexico has sido no como un dios, mas bien como el mas grande ser dentro del cyber espacio! En realidad siempre nos tenias sorprendido por la cantidad de software que nos regalabas a todos y creeme que de tu pagina ha podido subsistir la carrera de Lic. en Sistemas Computacionales Administrativos de una universidad aqui en donde vivo (yo estoy dentro de esa carrera y les avise de donde podian bajar las herramientas necesarias para nuestra educacion). Por esto que te acabo de comentar quiero decirte que estoy muy agradecido contigo y tambien pedirte que no heches el animo al piso, que mantengas tu cabeza en alto y cuando te pregunten por que lo hiciste les respondas: “POR QUE QUIZE AYUDAR”. Por favor nunca te arrepientas de esto que has hecho, puesto que con esto tu has ayudado a miles (si no es que a millones) de alumnos como yo, que en su universidad no tienen el dinero suficiente para comprar el software carisimo y por consecuencia los alumnos no tienen donde aprender. Gracias a ti, los alumnos de Sistemas tenemos con que aprender y practicar (siempre y cuando el director no se entere :-> )

Nuevamente, mil gracias BoRr@sS, para nosotros, tu eres el heroe.

Saludos y hay le sacas el dedo medio a los polis que te agarraron de nuestra parte.

Atte.

Kdosh.

jueves, julio 05, 2007

Por aqui de nuevo....

Por aqui de nuevo sin saber que hacer, estoy viendo una pelicula de chinos en donde avientan kung-fu-gadazos y esta buena, pero no lo suficiente, de hecho ya me tengo que dormir porque mañana me tengo que levantar temprano. Mejor mañana les sigo platicando algunas cosas, no se, les platicare cualquier cosa que se me venga a la mente, por lo pronto, si les interesa algo de por aqui sientanse libres de leer los demas post o de visitar los vinculos. Les envio un saludo