miércoles, 25 de julio de 2012

Importar, Exportar Imagenes en SQL server con textcopy


Este post viene dado por la pregunta de un estudiante con la necesidad de insertar un archivo tipo .jpg .bmp  etc  en un campo tipo imagen con transact SQL.

 Se realizó en el S.O Windows y SQLserver 2000, después de googlear un rato y realizar algunas  pruebas  encontramos lo siguiente:

1.-BASE DE DATOS: Northwind

2.-CREA TABLA: create table tablaimagen (id int, iFoto image)

3.-CONSULTA TABLA: select * from tablaimagen

4.-INSERTAR REGISTRO: insert into tablaimagen values (1, null)

Nota: importante actualizar registro en la tabla el campo ifoto

5.- ACTUALIZAR REGISTRO: update tablaimagen set iFoto = 'xx'

6.-CONSULTA TABLA: SELECT * FROM tablaimagen


Recuerda de colocar el utilitario textcopy en  raíz de c:\, Ubícalo en c:\Program Files\Microsoft SQL Server\MSSQL\Binn\

7.-Genera Procedimiento en el Analizador de Consulta (Query Analyzer)

CREATE PROCEDURE sp_textcopy (
  @srvname     varchar (30),
  @login       varchar (30),
  @password    varchar (30),
  @dbname      varchar (30),
  @tbname      varchar (30),
  @colname     varchar (30),
  @filename    varchar (30),
  @whereclause varchar (40),
  @direction   char(1))
AS
DECLARE @exec_str varchar (255)
SELECT @exec_str =
         'c:\textcopy /S ' + @srvname +
         ' /U ' + @login +
         ' /P ' + @password +
         ' /D ' + @dbname +
         ' /T ' + @tbname +
         ' /C ' + @colname +
         ' /W "' + @whereclause +
         '" /F ' + @filename +
         ' /' + @direction
EXEC master..xp_cmdshell @exec_str

Ejecuta procedimiento sustituyendo las variables  en srvname, login, password y filename

8. -       sp_textcopy @srvname = 'TUserver',
            @login = 'sa',
            @password = 'clave',
            @dbname = 'Northwind',
            @tbname = ' tablaimagen',
            @colname = 'iFoto',
            @filename = 'c:\Foto.jpg',
            @whereclause = 'where id= 1',
            @direction = 'I'

Recuerda colocar la foto en la raíz en este caso c:\, ejemplo c:\foto.jpg

CONSULTA LA TABLA

select * from  tablaimagen

Certifica si actualizo la foto ósea si cambio el binario en el campo

NOTA: no se puede mostrar la foto por t-sql, tiene que apoyarte con herramientas de desarrolló cualquiera de ellas foxpro, delphi, c++ , php etc., en la red hay bastante código que puedes utilizar. Los parámetros del textcopy con textcopy /?

martes, 17 de julio de 2012

¿Disco Duro de Estado Sólido?

            Me llamo la atención este término y decidí buscar más información sobre los discos duros de estado sólido y conseguí lo siguiente:

SSD Consta de una memoria no volátil (NAND), en lugar de los platos giratorios y cabezal de las unidades de disco duro convencionales. Al no tener piezas móviles, una unidad de estado sólido reduce drásticamente el tiempo de búsqueda, latencia y otros, diferenciándose así de los discos duros.

Se trata de una evolución de los discos duros convencionales, los cuales están compuestos de varios platos, sobre los que se graba la información usando campos magnéticos. Para acceder a los datos, al igual que ocurre en un tocadiscos, se utilizan varias cabezas lectoras.

 
· El acrónimo de SSD significa unidad de estado sólido (solid-state drive), ósea que no es un disco como tal pero funcionamiento es parecido para el almacenamiento de datos

· Esta compuesto con una memoria no volátil (semiconductores) para el almacenamiento de datos.

· Son menos sensibles a los golpes

· Arranque más rápido, al no tener platos que necesiten tomar una velocidad constante.

·  Gran velocidad de escritura.

·  Mayor rapidez de lectura, incluso 10 veces más que los discos duros tradicionales más rápidos gracias a RAIDs internos en un mismo SSD.

·  Baja latencia de lectura y escritura, cientos de veces más rápido que los discos mecánicos.

·  Lanzamiento y arranque de aplicaciones en menor tiempo.

·  Menor consumo de energía y producción de calor al no  tener elementos mecánicos.

¿Consideraciones para Elegir una Unidad de Estado Sólido?
  
        Hay algunos puntos que debemos considerar para elegir un buen disco SSD y son los siguientes:

·         Soporte TRIM: Esta tecnología evita que el disco SSD disminuya su desempeño conforme más se utilice.

·     Soporte TRIM para RAID: Cuando se emplean dos o más discos SSD en una configuración RAID, se requiere que los discos soporten TRIM en estas condiciones (RAID) para evitar la pérdida de rendimiento con el uso continuo.

·       Velocidad de acceso secuencial de Lectura y Escritura: Nos permite saber la velocidad máxima de lectura y escritura cuando se trabaja con datos secuenciales, por ejemplo cuando se lee o graba un archivo de gran tamaño.

·   Velocidad de escritura aleatoria 4K: Es un indicador que se mide en IOPS (cantidad de operaciones de entrada/salida por segundo). Este indicador nos permite saber que tan rápido puede trabajar nuestro disco con archivos pequeños.

·         Precio por Gigabyte: Nos permite saber cuánto nos cuesta cada Gigabyte de almacenamiento.

Con estas Recomendaciones Generales podemos dar comienzo a la búsqueda de un SSD que cumpla con nuestras necesidades y se ajuste al presupuesto.

Saludos Virtuales… ¡

Fuente:
http://es.wikipedia.org/wiki/Unidad_de_estado_s%C3%B3lido
http://www.webadicto.net/mba/post/Los-6-Mejores-Discos-SSD.aspx

viernes, 13 de julio de 2012

La Iniciación... ¡


Como todo en la vida la primera vez cuesta... y así es este blog, pero animado por varios compañeros y amigos conocedores y no de blog y después de revisar varios sitios, decidí aperturar este pequeño espacio de información en la red con aspecto relacionados a computación, deportes y el día a día como hechos cotidianos que a todos nos ocurren en la vida. Escritor no soy simplemente un carajo que quiere colocar ciertas oraciones con sentido común para expresar algunas ideas u opiniones y ofrecer una óptica distinta a los lectores que por casualidad llegan aquí, tratare de ser en mi redacción lo más próximo a un libro (pero no lo creo jejeje). Sabrán disculparme pero creo que a pasar de post en post la cosa se ira mejorando (tanto en diseño como en contenido), sin mas que agregar y esperando que sea de su utilidad lo que encuentre aquí lo saluda... ¡

Blogenado vs. Blogueando


Con el inicio de este blog y buscando información al respecto me conseguí con esta diatriba cual es la forma correcta de escribirlo una cuantas búsqueda en san google y conseguí unas varias formas de pensar y de debate como se debe escribir aquí cito algunas que me parecieron acertada.

La primera: “Tal cual porque nosotros decimos "bloguear" y "bloguero" o "bloguera". Creo que lo hacemos por la siguiente regla ortográfica, "Se escriben con G: Los sonidos ga - go - gu; gue - gui."

La Segunda: “El término "blog" es mucho más usado que bitácora, que hubo pretensión de promocionar para evitar el anglicismo. (Con el término "football", hace tiempo que se prefirió "fútbol" antes que el calco "balompié" que se pretendió apoyar como más propio para evitar el extranjerismo.)
"Blog" es breve, internacional, su uso se ha consolidado. Ya que en inglés es un término de nueva creación a partir de Web-Log. En cuanto al verbo y otros derivados, creo que hay que adaptarlos a los propios sufijos. Así surge "bloguero" o "bloguera", y el verbo debería ser "bloguear" o escribir en blogs. “

Al Tercera y ultima: “Hola, gente. Me temo que no todos los hispanohablantes estamos de acuerdo. En este blog venezolano ,http://www.blogeandoencienciasdelaeducacion.blogspot.com/

Y como dicen por allí me quedo con la primera, blogueando por que bloguenado ando.

Saludos Virtuales.

Tips para realizar Consultas Múltiples con SQL


Las Consultas Múltiples con lenguaje estructurado de consultas (SQL), siguiendo la teoría explica que se establece a partir dos o mas tablas en donde las tablas deben contener un campo en común para unirlas y poder establece las condición de igualdad, como mínimo y lógicamente para unir dos tablas debemos tener una condición de igual.

La condición de igualdad se establece con los campos en común y claro esta deben ser iguales ósea una relación uno a uno.

Ej.: Unión de Dos Tablas
Select *
From tabla 1 , tabla2
Where tabla1.campo1 = tabla2.campo2
Group by
Having by
Order by

        Siempre hay que prestar atención especialmente a la unión ya que sin la misma el manejador de db generara lo que se conoce como producto cartesiano que no es mas que la multiplicación del registro de la tabla1 con la tabla2.
 
Saludos Virtuales