Un poco de todo lo relacionado al area de la informatica... programacion, ocio, configuraciones, en fin herramientas que pueden ser utiles para un estudiante de ingenieria en ciencias y sistemas.

jueves, 4 de diciembre de 2014

On 21:22 by Unknown   No comments
El blog ha estado totalmente abandonado pero en este mes y el proximo año tratare de estar subiendo nuevas soluciones a problemas ya sean configuraciones o codigo que sean de ayuda para quienes estudian informatica y tambien en especial para quienes estudian ingenieria en ciencias y sistemas en la USAC ya que tambien se publicaran consejos y/o sugerencias que serviran para los distintos cursos impartidos en la carrera y que de alguna forma buscan ayudar y tener un apoyo cuando no se sabe por donde empezar algun proyecto o practica.

domingo, 13 de julio de 2014

On 20:41 by Unknown   No comments
El error 5100 en las impresoras canon se relaciona con que el deposito de tinta esta lleno, una posible solución a este problema se menciona en el siguiente video:



Otra posible solución al problema de se describe en la siguiente pagina:

http://jack-er.blog.com.es/2009/10/05/resetear-impresora-canon-pixma-ip1800-ip1900-7100109/


En mi caso ninguna de estas soluciones me sirvieron en una canon ip1900, el error surgió al adaptar un sistema de tinta continua y luego de buscar alguna otra alternativa para solucionar el problema encontré la solución en el siguiente video:


Al principio me pareció gracioso pero luego de analizarlo por un momento me parecía que el problema era que el carrete no llegaba a su posición final o por decirlo de otra forma no llegaba a los extremos de sus recorrido, luego de revisar la impresora efectivamente las mangueras del sistema continuo de tinta no permitían que el carrete llegara a un extremo y efectivamente al colocar las mangueras de tal manera que no interfirieran en el recorrido del carrete se soluciono el problema.

En resumen otra solución al error 5100 en las impresoras canon es verificar que el carrete realiza de forma correcta todo su recorrido, retirando objetos que impidan que el carrete llegue a los extremos de sus recorrido.


martes, 11 de marzo de 2014

On 23:20 by Unknown in    No comments
Básicamente el siguiente código es el necesario para ejecutar un paquete de SQL Server Integration Services.

----------------------------------------------------------------------------------------------------------------------
try
        {
            Application app = new Application();
            Package package = null;
            package = app.LoadPackage(@"C:\Carpeta\Package.dtsx", null); //Ruta del archivo .dtsx
            //Ejecutar el paquete
            Microsoft.SqlServer.Dts.Runtime.DTSExecResult results = package.Execute();
            if (results == Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure)
            {
                foreach (Microsoft.SqlServer.Dts.Runtime.DtsError local_DtsError in package.Errors)
                {
                    Console.WriteLine("Package Execution results: {0}", local_DtsError.Description.ToString());
                    Console.WriteLine();
                }
            }
        }
        catch (DtsException ex)
        {
            throw ex;
        }
}
-------------------------------------------------------------------------------------------------------------------------

fuente | http://www.dotnetfunda.com/articles/show/795/how-to-execute-ssis-packages-in-csharp-aspnet-part-ii

 En el link anterior agregan una referencia a "Microsoft.SqlServer.Dts.Runtime", la cual puede no aparecer en las opciones dentro de la pestaña ".NET". En el siguiente link mencionan las posibles rutas en las que puede encontrarse la DLL "Microsoft.SqlServer.ManagedDTS.dll" de dicha referencia.

http://social.msdn.microsoft.com/Forums/sqlserver/en-US/1b3ed694-cf02-445e-8ff4-0de4fd45a464/error-dts-does-not-exist-in-the-namespace-microsoftsqlserver?forum=sqlintegrationservices


La ruta en la cual encontré la DLL fue:

windows->assemby->GAC_MSIL->Microsoft.SqlServer.ManagedDTS->10.0.0.0__89845dcd8080cc91



En dado caso no la encuentren por ningún lado la pueden descargar del siguiente link

Microsoft.SqlServer.ManagedDTS.dll
https://app.box.com/s/h3ilgshkraaoj6vx8e3d

sábado, 27 de julio de 2013

On 19:51 by Unknown in ,    No comments
Resumen acerca de lo que es el modelo osi y sus tres primeras capas:
- capa física
- capa de enlace de datos
- capa de red




Descarga:

martes, 23 de julio de 2013

On 21:27 by Unknown in , ,    No comments
Introducción a los conceptos principales de lo que es la programación orientada a objetos y una breve descripción de los cuatro principales elementos que la componen.


Descarga:

http://www.mediafire.com/?xbyffr69ayet12d

lunes, 22 de julio de 2013

On 16:22 by Unknown in ,    No comments
Documento que contiene los principales conceptos de lo que es un analizador léxico y así como una
explicación de lo que son las Expresiones Regulares y los Autómatas Finitos que son los reconocedores de gramáticas independientes de contexto y que ya nos van adentrando en la teoría necesaria para posteriormente poder construir un analizador léxico y finalmente programarlo.


Descarga:

http://www.mediafire.com/?4c24cpzdcngow9v

martes, 16 de julio de 2013

On 16:32 by Unknown in , ,    No comments
El siguiente documento contiene los conceptos principales que se deben tener presentes y conocer sobre el tema de compiladores, un tema bastante amplio y complejo de las ciencias de la computación y que se necesita bastante paciencia y estudio para entenderlo.

El documento contiene los temas:

1. Lenguaje (¿que es?, tipos, etc)
2. Compilador y sus fases
3. Gramática y jerarquía de Chomsky

Esta es la primera parte nada mas, los siguientes temas tendrán temas mas específicos sobre los compiladores.



Descarga:

http://www.mediafire.com/?wqu3kw7oi1u26ld

lunes, 15 de julio de 2013

On 21:24 by Unknown in , ,    No comments
Me voy a dedicar crear este tipo de entradas que me van a servir como recordatorio y para tener presentes los conceptos principales de los cursos que he visto en la carrera así como ejemplos prácticos que por tanto contenido no me acuerdo muy bien o el peor de los casos (el mas común) se me olvida, y pues puede servir como guía para alguien que quiera sintetizar el contenido de una forma mas simple (eso espero xD). El primer documento es sobre conceptos básicos de programación, la principal teoría así de forma general y que ayuda a comprender mejor el tema.


Descarga en:

http://www.mediafire.com/?qxupepuo52cllrg

martes, 4 de junio de 2013

On 22:13 by Unknown in , ,    No comments


Las tablas pivote sirven para presentar los datos de una forma mas estructurada, reportes, mostrar totales etc, a modo de darle una mejor vista a los datos y que sean mas entendibles al mismo tiempo.

Esto se puede realizar con sql básico que es aceptado por cualquier DBMS y también haciendo uso de la función "pivot" que no pertenece al estándar sql pero que es aceptada por algunos dbms.

Oracle implemento el uso de esta función a partir de la versión 11 (según leí) por lo que en versiones anteriores no es reconocida, se usaba la función DECODE que trabaja de forma similar.

Los siguientes ejemplos están realizados en oracle 11.2 XE versión para windows y prácticamente sirven para mostrar como pasar una consulta pivote realizada con sql básico a una realizada con la función pivot, la cual nos simplifica el código de la consulta.

Se tiene la siguiente consulta con tabla pivote realizada con sql básico





Para realizar esta misma consulta con la función pivot se realiza lo siguiente :

1. Seleccionamos los campos que necesitamos en este caso el año y el mes donde cada año representa una fila y los meses las columnas.

Select * (Select extract(year from fecha_inventario) as anio,extract(month from fecha_inventario) as mes From equipos S )

2. Escribir la instrucción pivot a continuación de la consulta anterior

3. Hacer la función de agregación que necesitamos en este caso “count” y realizar el FOR y el IN

Pivot ( Count (mes) For mes in (1 as enero,2 as febrero,3 as marzo,4 as abril,5 as mayo,6 as junio,7 as julio,8 as agosto,9 as septiembre,10 as octubre,11 as noviembre,12 as diciembre) ) order by anio

Count (mes) para contar el numero de equipos por cada mes y luego el FOR<campo>  en este caso también el mes porque en el es donde vamos a buscar los valores que necesitamos y por ultimo IN en donde se le da un listado de valores a buscar.

Como se puede observar al encontrar un “1” se devolverá “enero” y así sucesivamente.

3. Con la consulta anterior todo bien, y hay muchos ejemplos así en Internet pero el problema es que nos falta la columna “TOTAL” que tiene la consulta mostrada al inicio. Para esto en vez de tener select * al principio de la consulta agregamos lo siguiente

Select anio,enero,febrero,marzo,abril,mayo,junio,julio,agosto,septiembre,octubre,noviembre,diciembre, enero+febrero+marzo+abril+mayo+junio+julio+agosto+septiembre+octubre+noviembre+diciembre as total from…. 

 Donde sumamos todos los campos para obtener el total y así tener otra columna al final.

La consulta nos queda entonces:





y con esto ya esta realizada la consulta con la función PIVOT.

Nota: al incluir la clausula IN solamente se puede indicar un conjunto de valores, es decir un listado previamente conocido de valores ya que si queremos agregar las columnas de forma dinámica haciendo un SELECT IN nos dará un error ya que la función pivot no permite trabajar de esta manera.

Por ultimo un ejemplo de una consulta que agrega totales verticales y lo unico que se hace es un UNION ALL.


lunes, 3 de junio de 2013

On 15:56 by Unknown in , , ,    2 comments
La siguiente mini aplicación muestra como conectarse a una base de datos ingresando de forma manual los parámetros de conexión (bd, puerto, etc) y luego visualizar los datos de cualquiera de las tablas de la BD seleccionada, lo diferente que tiene a la mayoría de ejemplos mostrados en Internet es que se cargan las columnas de forma dinámica  es decir que se cargan todas las columnas de la tabla y no solo un numero estático de columnas definidas en el programa, lo cual puede servir en muchos casos, con esto se tiene la conexión y la lectura de datos, si se quiere hacer cualquier otro uso como insertar , eliminar etc, se puede seguir el mismo patrón partiendo de este ejemplo.

En el .zip va incluido el driver (ultima version) para conectar java con postgres, se realizo en netbeans 7.3 con jdk 7u21.

La aplicación se ve así:



y en el cuadro de dialogo ingresan los valores correspondientes y en el combobox de la ventana principal pueden ver las tablas disponibles y ver los datos de cada una.


Pueden descargarla en: Java - Postgres
Nota: El código no es el mas optimo que digamos porque no tenia tiempo para mejorarlo, la prioridad era que funcionara XD y lo pueden notar en los métodos de la clase conexión pero puede ser mejorado y/o modificada de acuerdo a las necesidades.

Créditos a:  http://gnucesar.wordpress.com/2008/07/22/conexion-a-postgres-desde-java/ ya que a partir de esta clase me base para hacer la conexión.