Programando con Café

Programando con Café es el lugar de encuentro de todos sus tutoriales de programación que usted necesita en diferentes lenguajes de programación y base de datos

miércoles, enero 23, 2013

INFORMIX - CONECTAR INFORMIX CON C#

1. DESARROLLO



Lo que vamos hacer en este tutorial es conectar C# con una base de datos Informix.
Para lograr conectar Informix con C# lo primero que deben de hacer es instalar el cliente Informix para Windows, si desean saber como instalar el cliente hacer clic AQUÍ. Luego que han terminado de instalar el cliente Informix, el ddl que vamos a usar en nuestro proyecto se encuentra en “C:\IBM Informix Client SDK\bin\netf20” (Si han instalado el cliente Informix según el tutorial anterior) y se llama "IBM.Data.Informix.dll"















Luego debemos de hacer una aplicación en Visual Studio 2012, que lo llamaremos "ConectarseInformixC" y desarrollamos la siguiente pantalla.















El nombre de los controles son

  • txtHost
  • txtServicio
  • txtServidor
  • txtUsuario
  • txtClave
  • cboDataBase
  • txtSentencia
  • btnEjecutar
  • dgvResultado

Después que terminamos de diseñar nuestra pantalla, agregamos la referencia para poder conectarnos con Informix, para ello hacemos clic derecho en "Referencia" y "Agregar Referencia"














Seleccionamos el DDL













Agregamos dicha referencia para poder usar las librerías de Informix

using IBM.Data.Informix;

Para conectarnos con Informix la cadena de conexión debe ser

"Host={0}; Service={1}; Server={2}; Database={3}; User Id={4}; Password={5};"

Para conectarnos a una base de datos debemos de usar una variable del tipo "IfxConnection", para ejecutar comandos una variable del tipo "IfxCommand"

A continuación explicaremos cada método que tiene nuestro formulario.

El siguiente método nos sirve para lograr conectarnos a una base de datos en Informix








El método "obtenerBaseDatos", lo que hace es conectarse a la base de datos "SYSMASTER" y consulta a la tabla "sysdatatables" para obtener todas las base de datos y llenarlo en el combo "cboDataBase"















Para bajar el ejemplo pueden hacer clic AQUI

A continuación les mostrare un ejemplo de la aplicación





martes, enero 22, 2013

INFORMIX - Instalar cliente Informix en Windows


1. Desarrollo



En este tutorial se mostrara como instalar un cliente Informix en Windows. Lo primero que debemos de hacer el buscar el cliente que deseamos utilizar desde la página de IBM. En este caso estamos usando el cliente IFMX_CSDK_V3.70.TC5_WINDOWS_32_EN y lo vamos a instalar en un Windows 8 Pro (64bits).

Cuando se termino de descargar el producto debemo de configurar nuestra variable de entorno PATH para que apunte a la siguiente ruta

%windir%\syswow64













Ejecutar el instalador



















Se da inicio al proceso de preparación de instalación del producto. Al culminar el proceso nos debe de salir la siguiente pantalla y presionamos Next

















Aceptamos los términos y presionamos Next

















Le indicamos la ruta donde queremos que se instale nuestro cliente y presionamos Next
















Seleccionamos una instalación típica y presionamos Next

















Nos muestra un informe de lo que se va a instalar y presionamos Install
















Al finalizar la instalación nos muestra la siguiente pantalla y dejamos la opción en No y presionamos Next
















Finalmente se muestra la ventana de "Installation Complete" y para finalizar la instalación damos clic en el botón Done

















Y para comprobar la instalación nos vamos a inicio para ver las aplicaciones que se instalarón


viernes, diciembre 28, 2012

SQL SERVER 2012 - Buscar texto en Tablas

El script lo que hace es buscar un texto en todas tus tablas de la base de datos en SQL Server y decirte exactamente en que Tabla y en que Columna se encuentra el texto que estas buscando


CREATE PROC [dbo]. [GMD_spBuscarTexto]
(
@TextoBuscar nvarchar (100)
)
AS
BEGIN



CREATE TABLE #Resultado (NombreColumna nvarchar(370 ), ValorColumna nvarchar( 3630))

SET NOCOUNT ON

DECLARE @NombreTabla nvarchar( 256), @NombreColumna nvarchar (128), @TextoBuscar2 nvarchar(110 )
SET  @NombreTabla = ''
SET @TextoBuscar2 = QUOTENAME('%' + @TextoBuscar + '%', '''')

WHILE @NombreTabla IS NOT NULL
BEGIN
SET @NombreColumna = ''
SET @NombreTabla =
(
SELECT MIN (QUOTENAME( TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME ))
FROM INFORMATION_SCHEMA .TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
AND QUOTENAME (TABLE_SCHEMA) + '.' + QUOTENAME( TABLE_NAME) > @NombreTabla
AND OBJECTPROPERTY (
OBJECT_ID(
QUOTENAME(TABLE_SCHEMA ) + '.' + QUOTENAME (TABLE_NAME)
), 'IsMSShipped'
       ) = 0
)

WHILE (@NombreTabla IS NOT NULL) AND (@NombreColumna IS NOT NULL)
BEGIN
SET @NombreColumna =
(
SELECT MIN (QUOTENAME( COLUMN_NAME))
FROM INFORMATION_SCHEMA .COLUMNS
WHERE TABLE_SCHEMA = PARSENAME(@NombreTabla , 2)
AND TABLE_NAME = PARSENAME(@NombreTabla , 1)
AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar', 'uniqueidentifier')
AND QUOTENAME (COLUMN_NAME) > @NombreColumna
)

IF @NombreColumna IS NOT NULL
BEGIN
INSERT INTO #Resultado
EXEC
(
'SELECT ''' + @NombreTabla + '.' + @NombreColumna + ''', LEFT(' + @NombreColumna + ', 3630)
FROM ' + @NombreTabla + ' (NOLOCK) ' +
' WHERE ' + @NombreColumna + ' LIKE ' + @TextoBuscar2
)
END
END
END

SELECT NombreColumna , ValorColumna FROM #Resultado ORDER BY NombreColumna
END


A continuación el resultado de ejecutar el query















Espero que les sea de utilidad como lo fue para mi ... Hasta una próxima oportunidad

lunes, diciembre 10, 2012

JAVA - APLICACIÓN WEB CON HIBERNATE, SPRING Y ZK PARTE V - CAPA WEB

Capítulos



1. Entorno



  • Eclipse Juno
  • JDK 1.6 - 31
  • ZK CE
  • MySQL 5.0
  • MySQL Query Browser
  • Springframework 3.1.0


2. Desarrollo



En el capítulo anterior vimos como configurar la Capa Web de la aplicación, ahora desarrollaremos las paginas para dar mantenimiento a la tabla producto.

Lo primero que debemos de realizar es crear dos paquetes que utilizaremos en la capa web. El paquete "com.programandoconcafe.zk.controller" contendrá los controladores de las paginas y el paquete "com.programandoconcafe.zk.bean" contendrá el bean para trabajar con la pagina.















Luego crearemos el bean, que lo llamaremos "ProductoBean"















El bean contendrá los atributos necesarios que se utilizaran en la pantallas















De ahí se crearan los controladores, es una buena practica cuando se utiliza el patrón MVC de ZK, crear tantos controladores por pagina que tengamos. Por ejemplo si en nuestra aplicación tenemos 10 paginas, deberíamos de tener 10 controladores. Ahora pasaremos a detallar cada notación que usaremos en el controlador.


  • @VariableResolver(DelegatingVariableResolver.class): Esta notación sirve para reemplazar a la notación @Controller de spring.
  • @WireVariable: Cuando queremos realizar inyecciones ha atributos variables
  • @Wire: Sirve para obtener información de los componentes de la pantalla. Los atributos despues de @Wire tiene que tener el mismo nombre que el componente de la pantalla. Por ejemplo, si en mi pantalla cree una caja de texto con nombre txtCodigo, deberia de tener una variable "@Wire private TextBox txtCodigo".
  • @Listen("onClick = #btnEliminar"): Esta notación indica que cuando se ejecute el evento "onClick" del botón con el nombre "btnEliminar" , se debería de ejecutar el método que tiene dicha referencia en el controlador.















Creamos tambien el controlador para la pantalla "producto.zul"















Y finalmente creamos dos paginas para dar mantenimiento a nuestra tabla. Para aprender mas de cada componente de ZK pueden visitar la documentación oficial de ZK de la siguiente URL http://www.zkoss.org/zkdemo/getting_started 
















Para ver mas detalle de cada linea de código, pueden bajar el código fuente haciendo click AQUI







domingo, diciembre 09, 2012

JAVA - APLICACIÓN WEB CON HIBERNATE, SPRING Y ZK PARTE IV - CONFIGURACIÓN CAPA WEB

Capítulos



1. Entorno



  • Eclipse Juno
  • JDK 1.6 - 31
  • ZK CE
  • MySQL 5.0
  • MySQL Query Browser
  • Springframework 3.1.0


2. Desarrollo




En esta parte del tutorial se creara la capa web, que es la encargada de comunicarse con el Cliente y pasar la información a la capa core.
Para ello lo primero que debemos de hacer es crear un proyecto en Eclipse, para ello nos vamos a “File -> New -> Other”






















Crearemos un proyecto del tipo Maven















Le decimos a Eclipse, que cree una simple estructura del proyecto Maven





















Como nombre al proyecto le pondremos "ProductoWeb" que sera del tipo "war"





















Modificamos el archivo POM para utilizar las librerías que utilizaremos en el proyecto. Este archivo lo podrán bajar junto con todo el proyecto al final. En cada librería se agrego un comentario para que sepan que hace cada uno.















En la carpeta "WEB-INF" creamos el archivo "dbConfig.xml" que contendrá la información de conexión con la base de datos.















En la misma carpeta crearemos el archivo "applicationContext.xml", que contiene la configuración básica del Spring y se conectara con el archivo anterior.















El ZK pide que también tengamos un archivo que se llame "zk.xml", donde esta la configuración solo del ZK
















Dentro de la carpeta "resource" creamos el archivo "log4j.properties" que es la configuración para manejar el log de la aplicación















Y finalmente creamos el archivo "web.xml" dentro de la carpeta "WEB-INF". En este archivo agregamos la configuración del Spring, del log y del ZK.
















Crearemos el paquete "com.programandoconcafe.zk.test" donde le agregaremos la prueba unitaria para comprobar los métodos de la capa Core















La clase que crearemos se llamara "ProductoTest", donde se crearan los métodos para testear los métodos expuestos por el servicio.


  • @RunWith(SpringJUnit4ClassRunner.class) --> Le dice que la clase se testeara usando spring
  • @ContextConfiguration(locations = { "file:src/main/webapp/WEB-INF/applicationContext.xml" }) --> Le dice a la clase la ubicación del archivo "applicationContext.xml" que es necesario para Spring 
















Para probar que realmente la configuración del ZK este bien, crearemos una pagina "index.zul". Para ello hacemos clic derecho en "webapp" y seleccionamos la opción "New -> Other"














Seleccionamos "zul" y presionamos "Next"















Como nombre le pondremos "index.zul"













Y nos mostrara el siguiente código, es algo sencillo pero nos sirve para comprobar que la configuración del ZK que estamos haciendo esta OK.















Para descargar la aplicación pueden hacer clic AQUI

3. Solución



Un vídeo que explica como ejecutar las pruebas unitarias y correr el archivo "index.zul"