El tema central de este BLOG es de programación y tecnología en general, aunque tambien publique otros temas.
martes, 26 de marzo de 2013
Hacer hablar a tu aplicación de .NET
martes, 19 de junio de 2012
Exportar Base de Datos de Oracle 11g a Oracle 10g
Siempre había estado acostumbrado hacer una exportación simple con el comando “Exp” , lo he utilizado sin problema. Cuando me encontré con la necesidad de exportar hacia una versión inferior ya no funcionó, después de buscar en algunos foros encontré la solución, exportación por medio del comando “EXPDP” este me crea un dumpfile, en el que puedo especificarle la versión con la que necesito compatibilidad.
Un ejemplo de línea de comando en una base de datos 11g puede ser:
expdp miuser/mipass@midb schemas=miesquema dumpfile=mifile.dmp version=10
En este comando le especifico que lo quiero con compatibilidad de versión 10
El archivo se va a generar en el directorio oracle: DATA_PUMP_DIR, cuando deseamos importarlo, debemos revisar si existe el directorio DATA_PUMP_DIR en la base de datos destino, si no existe debemos crear ese directorio, tanto a nivel de sistema operativo como a nivel de Oracle. una vez que estemos seguros de la existencia y la ruta, el archivo debe copiarse en el directorio antes mencionado para poder ser importado, se importa de la siguiente manera:
impdp userid=tuuser/tupass schemas=tuesquema dumpfile=tufile.dmp
Espero que sea de ayuda.
viernes, 17 de febrero de 2012
Comparación de dos instancias de una Clase Compleja en C#
1: public class credito:IEquatable<credito>
2: {
3: public Decimal credito_id { get; set; }
4: public String vendedor_id { get; set; }
5: public String estado { get; set; }
6: public String cliente_id { get; set; }
7: public String nombre { get; set; }
8: public String apellido { get; set; }
9: public DateTime fecha_nac { get; set; }
10: public String direccion_domicilio { get; set; }
11: public String telefono_domicilio { get; set; }
12: public Double numero_cuotas { get; set; }
13: public String cedula_conyuge { get; set; }
14: public String nombre_conyuge { get; set; }
15: public String observacion { get; set; }
16: public String email { get; set; }
17: public Int64 cotizacion_id { get; set; }
18: /// <summary>
19: /// Permite realizar comparaciones del objeto de este tipo
20: /// desarrollado por Patricio Rosado
21: /// </summary>
22: /// <param name="other"></param>
23: /// <returns></returns>
24: public bool Equals(credito other)
25: {
26: //Se Obtienen la lista de propiedades de los objetos para compararlos uno a uno.
27: PropertyInfo [] prop1 =GetType().GetProperties();
28: PropertyInfo [] prop2 =GetType().GetProperties();
29: for (int i = 0; i < prop1.Length; i++)
30: {
31: // en caso de que ninguno de las dos propiedades no sean nulas, se comparan.
32: if (prop1[i].GetValue(this, null) != null && prop2[i].GetValue(other, null) != null)
33: {
34: if (!prop1[i].GetValue(this, null).Equals(prop2[i].GetValue(other, null)))
35: return false;
36: }
37: else
38: {
39: //Caso contrario se revisa que los dos estén nulos, si uno de los dos no es nulo
40: //Se retorna False.
41: if (prop1[i].GetValue(this, null) == null && prop2[i].GetValue(other, null) != null)
42: return false;
43: if (prop1[i].GetValue(this, null) != null && prop2[i].GetValue(other, null) == null)
44: return false;
45: }
46: }
47: return true;
48: }
49: }
no olvidar hacer un using System.Reflection;
martes, 27 de diciembre de 2011
¿Por que usar Shared Server en Oracle Database?
Oracle tiene una solución bastante practica para estos “problemas” y son los servidores compartidos, con la configuración correcta podemos hacer que varios clientes sean atendidos por un solo proceso en el servidor, estos procesos son llamados despachadores o dispatchers.
Haciendo una balanza se puede hacer que ciertos usuarios tengan conexión a un servidor dedicado, mientras la mayoría este con servidores compartidos, mas información sobre como configurar servidores compartidos en Oracle Database lo encontramos en el siguiente link http://docs.oracle.com/cd/B19306_01/network.102/b14212/dispatcher.htm
miércoles, 21 de diciembre de 2011
Intercalación En SQL Server Analysis Service y SQL Server DataBase
Con aun muy poca experiencia instalé SQL Server R2 y por un alerta que me salía cambié mi idioma de Windows a Español - España, instalé y luego cambié la configuración en Windows.
Después de un arduo trabajo en sacar un piloto acerca de un cubo de ventas, el cual dicho sea de paso fue todo un éxito, se me ocurrió que era mejor definir los formatos de las métricas en el cubo, para no hacer eso en el cliente, todo estaba bien, pero el gran problema es que me salía el símbolo de Euro, revisé la configuración de Windows y nada, luego fui a la configuración de idioma e intercalación de SSAS y cambio la configuración de español – España a español - Ecuador, reinicio AS, proceso el cubo y comenzó mi problema. las dimensiones que tenían miembros acentuados o caracteres como la Ñ no podían ser procesados, me lleve bastante tiempo en revisar que era, volví a dejar como estaba, pero no funcionaba, revisé en los foros, y pedí ayuda en los foros de Microsoft,él Colega Guillermo Taylor, me dijo que la solución era simple, tener una intercalación en la Base de Datos, compatible con la intercalación de SSAS, me pareció lógico, mas que nada porque el problema es que mientras SSAS buscaba datos de una dimensión con tildes la base de datos no diferenciaba tildes, así que si SSAS buscaba “Alejandría” la base de datos solo encontraba “Alejandria”, lo revisé, lo dejé idéntico, intento procesar las dimensiones, y NADA….
La solución estaba dada, Guillermo tenía razón, pero además de hacer configurar correctamente la Intercalación de la Base de Datos y SSAS también había que re implementar todo el Cubo, algo que en ese momento no sabía pero que por instinto lo hice, gracias a Dios encontré ayuda idónea y salí bien librado.
Tengo mas de 7 años de experiencia con Oracle, pero en SQL Server 2008 me cambiaron muchas cosas de su antecesor SQL 2000 y me siento un novato pero estoy poniéndome al día con los conocimientos, y a medida tenga mas experiencia los comentaré por este medio, puede que estas experiencias ayuden a mas personas.
jueves, 24 de noviembre de 2011
Autenticación en C#
Para hacerlo de una mejor manera podemos hacer lo siguiente…
En nuestro proyecto tenemos el Program.cs, el cual es el principal, agregamos un formulario principal [frmPrincipal] y uno de autenticación [frmAutentica] y hacemos lo siguiente:
en Program.cs tenemos un código parecido a este:
1: namespace Comercial
2: {
3: static class Program
4: {
5: /// <summary>
6: /// Punto de entrada principal para la aplicación.
7: /// </summary>
8: [STAThread]
9: static void Main()
10: {
11: Application.EnableVisualStyles();
12: Application.SetCompatibleTextRenderingDefault(false);
13: /*Es en este lugar donde hay que insertar el código que valida el usuario*/
14: Application.Run(new frmPrincipal());
15: }
16: }
17: }
El código que metemos en ese lugar es el que usamos para invocar nuestro formulario de autenticación, en este formulario validamos el usuario y la clave y damos como resultado DialogResult.Ok en caso que la autenticación sea exitosa. además para mantener en Memoria, nombre, id y otros datos del usuario podemos crear una clase que guarde estos datos, y luego invocarla. el código puede ser algo parecido al siguiente:
1: DatosUsuario user = new DatosUsuario();// Aqui se los datos del usuario
2: frmAutentica auth = new frmAutentica();
3: auth.user = user;
4: DialogResult dr;
5: dr=auth.ShowDialog();
6: if (dr == DialogResult.OK)
7: {
8: // En el form frmPRincipal creamos una sobrecarga del constructor para que nos acepte el parametro user
9: Application.Run(new frmPrincipal(user));
10: }
Espero esta contribución les ayude.
miércoles, 5 de octubre de 2011
Con Steve Jobs muere una era de la informática.
Tal vez no muchos han tenido la suerte de ver la pelicula “Los piratas de Sillicon Valley”, y aunque es un docudrama no autorizado, habla mucho sobre este gran personaje, Steve Jobs, en la misma película podemos ver también a personajes importantes de la Informática como Bill Gates, Steve Wozniac, Paul Allen, Steve Ballmer, entre otros.
Hago referencia a esta película, porque a pesar de que ya todos conocíamos al empresario Steve, al igual que a Bill, fue con esta película, que al menos personalmente me sentí mas identificado con la informática, me ha servido de inspiración, no solo Jobs, sino también Woz, Gates, y compañía, pues indudablemente eran unos Genios, en toda la extensión de la palabra.
Se acusa a Steve de haber sido arrogante, insoportable, apasionado, y adicto al trabajo, pero ¿quien con menos talento nos creemos la ultima coca cola del desierto?, así es la vida, Dios le dio el talento para cambiar el mundo, para hacer historia, para mejorar con la tecnología la calidad de vida de las personas, pues es así como Steve hizo su contribución con este planeta.
Ahora solo se haba de iPhone, iPod, iPad, pero la historia es mas que eso, Apple I, Apple II, Lisa, Machitosh, que en realidad fueron las creaciones que hicieron de APPLE una empresa de respeto.
Para un muchacho de 21 años, cuando la mayoría de jóvenes a esa edad nos ingeniábamos como cortejar a la chica guapa de la U, Steve ya comenzaba desde un garaje a cambiar el mundo, he ahí lo mas inspirador.
Dentro de esa carcaza de Genio estaba un ser humano, con familia, hijos, esposa, y una vida compleja, llena de enfermedades.
Definitivamente Steve dejará un vacía muy grande en el mundo informático, nos toca esperar que un nuevo genio surja y también se de a la tarea de cambiar el mundo..
Adiós Steve Jobs.
