Archivo

Archive for junio 2010

Descargue la versión de lanzamiento de la documentación y los tutoriales de Microsoft SQL Server 2008 R2.

   Al instalar los Libros en pantalla de SQL Server 2008 R2, se actualiza la versión existente de los Libros en pantalla de SQL Server 2008. Si efectúa la actualización, tenga en cuenta que el contenido y los temas de Ayuda describirán ahora las herramientas y características de SQL Server 2008 R2. Para volver a instalar los Libros en pantalla de SQL Server 2008 debe primero desinstalar los Libros en pantalla de SQL Server 2008 R2. Dado que SQL Server 2008 y SQL Server 2008 R2 comparten componentes, no puede tener instalaciones en paralelo de los Libros en pantalla en el mismo equipo.

Descargar » Libros en pantalla de SQL Server 2008 R2 «

Categorías: Sql Server 2005 - 2008

Acceso conexiones remotas usuario root en mysql (para usar algun gui externo)

24 junio 2010 2 comentarios

  Acceso conexiones remotas usuario root en mysql (para usar algun gui externo)

> GRANT ALL ON *.* TO root@’%’ IDENTIFIED BY ‘password_root’;

> FLUSH PRIVILEGES;

Categorías: MySql

Libros Gratuitos: SQL Server 2008 R2 & Virtualization

24 junio 2010 3 comentarios

SQL Server 2008 R2 está disponible, los que tienen la suscripción TechNet+ o MSDN pueden bajarlo y nosotros podemos bajar el software de evaluación desde el sitio de Microsoft de SQL Server 2008.

En todo caso también podemos obtener gratis un e-book de SQL Server puedes bajarlos de los siguientes links.

Bajar Libro

Bajar libro

Categorías: Sql Server 2005 - 2008

Incremento automático de MySQL (SET IDENTITY_INSERT de SQL)

 Estuve buscando algo que sea parecido al SET IDENTITY_INSERT ON/OFF del SqlServer pero no pude encontrar nada parecido así que haciendo pruebas vi que no era necesaria esta función en MySql.

Veamos , Primero creemos una tabla de prueba con un campo  Auto_Increment

Delimiter $$

CREATE TABLE `pruebas` (
  `id_prueba` int(10) unsigned NOT NULL auto_increment,
  `descripcion` varchar(100) NOT NULL default ‘ ‘,
  PRIMARY KEY  (`id_prueba`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1$$

Insertamos 2 registros y mostramos la tabla

INSERT INTO `pruebas` (`descripcion`) VALUES (‘PRUEBAS1’);
INSERT INTO `pruebas` (`descripcion`) VALUES (‘PRUEBAS2’);

SELECT * FROM `pruebas`;

Luego insertamos 2 registros , pero con id_prueba

INSERT INTO `pruebas` (`id_prueba`,`descripcion`) VALUES (20,‘PRUEBAS20’);
INSERT INTO `pruebas` (`id_prueba`,`descripcion`) VALUES (21,‘PRUEBAS21’);

Como se muestra nos permite insertar los registros sin dar ningún error.
Ahora insertamos un nuevo registro.
Y  vemos  que se modifico el auto incremento  de la tabla.

Categorías: MySql

Información de las tablas en MySql (INFORMATION_SCHEMA)

   En las siguientes secciones, tomamos tablas y columnas del INFORMATION_SCHEMA. Para cada columna, hay tres informaciones

— Listado de las DB que existen en tu servidor mysql
SELECT SCHEMA_NAME AS ‘Database’ FROM INFORMATION_SCHEMA.SCHEMATA ;

— Listado de Tablas de una determinada DB
SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = ‘TuDB’ ; 

— Listado de Tablas de todas las DB  que contengan el caracter A
SELECT table_schema, table_name FROM INFORMATION_SCHEMA.TABLES WHERE Table_name LIKE ‘%A%’;

— Listado de informacion de una tabla
SELECT * FROM INFORMATION_SCHEMA.COLUMNS  WHERE table_name = ‘PERFILES’;

— Verificar si existe un campo en una tabla
SELECT * FROM INFORMATION_SCHEMA.COLUMNS  WHERE table_name = ‘TuTabla’ AND column_name = ‘TuCampo’;
SELECT Count(column_name) AS ExisteComuna FROM INFORMATION_SCHEMA.COLUMNS  WHERE table_name = ‘TuTabla’ AND column_name = ‘TuCampo’;

— Información estadistica de una tabla
SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE table_name = ‘TuTabla’;

— Proporciona información acerca de permisos globales. Esta información viene de la tabla de permisos
SELECT * FROM INFORMATION_SCHEMA.USER_PRIVILEGES ;

Categorías: MySql

Desencadenadores en MySQL (Triggers)

  Para crear descencadenador4s es necesario seguir la siguiente sintaxis :

CREATE TRIGGER nombre momento evento
ON tabla
FOR EACH ROW instrucciones;

Donde :

nombre–> Nombre que recibe el desencadenador, aquel por el que nos referimos a él cuando lo utilizamos

momento –> Puede tomar 2 valores BEFORE (antes) , AFTER (después), se utiliza para determinar si las instrucciones asociadas al desencadenador se ejecutaran antes o después de la operación que la activo.

evento –> Indica el tipo de instrucción que activara el desencadenante. Se puede tratar de INSERT, UPDATE, DELETE.

tabla –> Nombre de la tabla con la cual está asociada el desencadenador.

instrucciones –> Utilice BEGIN Y END, como en los procedimientos almacenados, si desea que el desencadenador tenga asociado más de una orden.

EJEMPLO INSERCION:

DELIMITER //
CREATE TRIGGER dc_Clientes_Insertar
AFTER INSERT ON Clientes
FOR EACH ROW
BEGIN
    DECLARE NUEVO_CLIENTE VARCHAR(255);
    SET NUEVO_CLIENTE = CONCAT(LOWER(NEW.nombres) + ‘-‘ + LOWER(NEW.apellidos));
    INSERT INTO ClienteExt (id,nombre) VALUES (NEW.id,NUEVO_CLIENTE);
END
//
DELIMITER ;

EJEMPLO DE ACTUALIZACION :

DELIMITER //
CREATE TRIGGER dc_Clientes_Actualizar
AFTER UPDATE ON Clientes
FOR EACH ROW
BEGIN

    DECLARE NUEVO_CLIENTE VARCHAR(255);
    SET NUEVO_CLIENTE = CONCAT(LOWER(NEW.nombres) + ‘-‘ + LOWER(NEW.apellidos));
    UPDATE ClienteExt SET nombre= NUEVO_CLIENTE  WHERE id = NEW.id;
END
//
DELIMITER ;

EJEMPLO DE BORRADO:

DELIMITER //
CREATE TRIGGER dc_Clientes_Eliminar
AFTER DELETE ON Clientes
FOR EACH ROW
BEGIN
    DELETE FROM
ClienteExt WHERE id = OLD.id;
END
//
DELIMITER ;

Categorías: MySql

Usando AUTO_INCREMENT en MySql

16 junio 2010 2 comentarios

  El atributo AUTO_INCREMENT puede utilizarse para generar un identificador único para cada nueva fila :

CREATE TABLE Clientes (
     id MEDIUMINT NOT NULL AUTO_INCREMENT,
     nombre CHAR(50) NOT NULL,
     PRIMARY KEY (id)
 );

INSERT INTO Clientes (nombre) VALUES
    (‘Juan’),(‘Alberto’),(‘Luis’),
    (‘Anotnio’),(‘Ricardo’),(‘Alfredo’);

SELECT * FROM Clientes;

Para empezar o modificar el valor AUTO_INCREMENT distinto de 1, se puede establecer que el valor con CREATE TABLE o ALTER TABLE, así:

ALTER TABLE Clientes AUTO_INCREMENT = 0;

Categorías: MySql

Guardar imágenes en diferentes formatos con GdiPlus-X

  A continuación se muestra la biblioteca GDIPlus-X, ya está estable y fiable para hacer la mayoría de las tareas de GDI +. Descargue la última versión estable de Codeplex:

http://www.codeplex.com/Wiki/View.aspx?ProjectName=VFPX&title=GDIPlusX

DO LOCFILE(«System.App»)
WITH _SCREEN.System.Drawing
   LOCAL myBitmap AS xfcBitmap 
   *** Crear un objeto Bitmap
   myBitmap = .Bitmap.New(GETPICT()) 
   *** Grabar el bitmap en diferentes formatos
   myBitmap.Save(«c:\MyPNG.png», .Imaging.ImageFormat.Png)
   myBitmap.Save(«c:\MyBMP.bmp», .Imaging.ImageFormat.Bmp)
   myBitmap.Save(«c:\MyTIFF.tif», .Imaging.ImageFormat.Tiff)
   myBitmap.Save(«c:\MyJPEG.jpg», .Imaging.ImageFormat.Jpeg)
   myBitmap.Save(«c:\MyGIF.gif», .Imaging.ImageFormat.Gif)
ENDWITH

Categorías: Visual Fox Pro

GETPICT () con imágenes en miniatura – FoxPro

14 junio 2010 2 comentarios

  En los foros la gente que pregunta sobre la posibilidad de abrir el GETPICT () y que muestre en miniaturas las imagenes en lugar de nombres de archivo de imagen.

oShell = CREATEOBJECT(«Wscript.Shell»)
oShell.SendKeys(«{TAB}{TAB}{TAB}{TAB}{TAB}{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}»)
GETPICT()

Categorías: Visual Fox Pro

Extracción de fotogramas de archivos TIFF, GDI+

  En este código de abajo, se guarda los marcos de un TIFF en archivos de imagen por separado:

*** Ubicar la calse system
DO LOCFILE(«System,prg»)
WITH _SCREEN.System.Drawing
 *** Leer archivo TIFF con GDI+
 LOCAL loMultif AS xfcBitmap
 loMultif = .Bitmap.New(GETPICT(«TIF»))
 LOCAL lnFrames, n, lcFrameFileName
 lnFrames = loMultif.GetFrameCount()
 IF lnFrames > 1
     FOR n = 0 TO lnFrames – 1
        loMultif.SelectActiveFrame(.Imaging.FrameDimension.Page, n)      
        lcFrameFileName = «c:\Frame» + TRANSFORM(n + 1) + «.Tif»
        loMultif.Save(lcFrameFileName, .Imaging.ImageFormat.Bmp)
     ENDFOR
 ELSE
  MESSAGEBOX
(«El archivo seleccionado no es Multiframe TIFF»)
 ENDIF
ENDWITH 

Categorías: Visual Fox Pro