Friday, May 25, 2007

Función ParallelPeriod

Función ParallelPeriod


La función costa de 3 argumentos:


ParallelPeriod (Nivel, índice, miembro)


Descripción de cada elemento:



  • Nivel: Es el nivel sobre el cual se va a hacer el retroceso, o el paralelo.


  • Índice: Es el numero de veces que se va a retroceder en el nivel especificado en el parámetro anterior (nivel).


  • Miembro: Es el miembro actual, gracias al cual se elige el miembro actual sobre el nivel, especificado en el parámetro “Nivel”.


Ejemplo:



Resultado:



Explicación:

Esta es la jerarquia Date.Calendar.



Como podemos ver en el Query, estamos trabajando con la dimension “Calendar Semestre”, y con el mes “Noviembre 2002”.

Inicialmente se ubicara en el semestre 2 del año 2002, desde el cual comenzara a retroceder, según sea el indice especificado, en este caso es de 1, entonces retrocedera a “H1 CY 2002”.



La función se ubica en el miembro relativo a el miembro especificado en el parámetro “miembro”, en este caso el miembro “May 2002”, se encuentra en “H1 CY 2002”, y es relativo al miembro “November 2002”.



Friday, March 09, 2007

Blog sobre Recuperacion de Informacion

Existe un tema interesante para temas de comparacion entre documentos, con tecnicas como el TF/IDF.



Link



powered by performancing firefox

Wednesday, March 07, 2007

DBCC CHECKALLOC

Le aplico esta sentencia a la base de datos AdventureWorks, me da como resultado una especie de traza, la cual es la siguiente, cualquier explicacion, pequeña o grande, sera bienvenida, gracias por adelantado:



Result:



Table Person.vStateProvinceCountryRegion Object ID 359672329.

Index ID 1, partition ID 72057594054049792, alloc unit ID 72057594060341248 (type In-row data). FirstIAM (1:19899). Root (1:19901). Dpages 97.

Index ID 1, partition ID 72057594054049792, alloc unit ID 72057594060341248 (type In-row data). 4 pages used in 0 dedicated extents.

Total number of extents is 0.

***************************************************************

Table Purchasing.VendorContact Object ID 382624406.

Index ID 1, partition ID 72057594047299584, alloc unit ID 72057594052739072 (type In-row data). FirstIAM (1:706). Root (1:803). Dpages 0.

Index ID 1, partition ID 72057594047299584, alloc unit ID 72057594052739072 (type In-row data). 2 pages used in 0 dedicated extents.
.
.
.

powered by performancing firefox

Saturday, March 03, 2007

Recursos Net Framework 3.0

Al parecer ahi videos, laboratorios, tutoriales, etc.



Link: Click Aqui.



powered by performancing firefox

Friday, March 02, 2007

[SSIS] Paquetes Hijos dentro de Paquetes Padre

Using Parent Package Variables in Package Configurations



Da una guia como pasar variables de un PaquetePadre.aspx a el paquete contenido en el (PaqueteHijo.aspx).





El link: http://www.sqlis.com/27.aspx



powered by performancing firefox

Wednesday, February 14, 2007

CONFIGURACION DEL SMTP SERVER LOCAL

CONFIGURACION DEL SMTP SERVER LOCAL


Abrir el iis :





Click der sobre el servidor virtual smtp x defaul, y elegir propiedades





Se tendra la séte pantalla, y click en avanzada, y dejar como esta:





Click en la ficha acceso


Click en el btn conexión , poner nuestra ip, y la x def 127.0.0.1





Lo mismo en el btn retransmisión









Click en el tab entrega





Click en conexiónes salientes





Click en avanzada y colocar el dominio





Probando la disponibilidad del puerto smtp 25 x defaul





  1. desac el antivirus o firewall q s este ejecutando









  1. probar q exista accesibilidad al puerto 25









Los mail que se envien se me quedan en la carpeta:





Alguien podria ayudarme como hacer para enviar un correo desde mi propia maquina, me gustaria enviar un mail x ejem a mi cuenta de correo en gmail, es con fienes de aviso cuando un proceso no finalize correctamente.


Gracias.

Monday, February 12, 2007

Debe tener la sgte estructura



Se obtendra los sgtes resultados.


  1. al cargar, muestra categorías



  1. al presionar el boton padre hijo, se vera el detalle de cada categoría.



help, como hago para subir la solucion, alguno podria ayudarme con un host para archivos.

cualquier cosa me escribe, a ealvinoq@gmail.com

thkns



Web Services

Web Services
(Fundamentos)



  1. Introducción:


Se mostrara cuan fácil es crear un Servicio Web.

Lo fácil que es reusar una aplicación .Net, y mover la lógica de negocio a un Web Service, estando así disponible para otras aplicaciones.

Tendremos dos ejemplos, el primero, que se encarga de recolectar la información de pago, y el segundo, que se encarga de enviar y recibir archivos, siendo representados los archivos binarios dentro de un tipo complejo.

Se resolverán algunos casos, los cuales se harán paso a paso, ya que aprenderemos haciendo.


  1. Ejemplos:



    1. Sencilla aplicación comercial



  1. Crear una interfaz de la siguiente manera.





  1. Crear un servicio web con la sgte estructura:





  1. Escribir el siguiente método en al Archivo code-behind TarjetaCredito.cs:


[WebMethod(Description = "Este método se encarga de validar el nro de tarjeta de crédito")]
public bool validarTarjeta(String nroTarjeta, DateTime fchaVcto)
{

if (fchaVcto >= DateTime.Today)
{
int total = 0;
int temp = 0;
char[] ccDigitos = nroTarjeta.ToCharArray();

for (int i = 0; i < nroTarjeta.Length; i++)
{
if (((i + 1) % 2) == 0)
{
total += int.Parse(ccDigitos[i].ToString());
}
else
{
temp = int.Parse(ccDigitos[i].ToString()) * 2;
if (temp > 9)
{
temp = (int)temp - 9;
}
total += temp;
}

}

if ((total % 10) == 0)
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}

}


  1. El atributo Description de la directa [WebMethod], permitira lo siguiente:





  1. Agregar la referencia Web.





  1. Agregar la declaración:





  1. Programar el evento click del boton Colocar orden.


protected void btncolord_Click(object sender, EventArgs e)
{
TarjetaCredito o_tc = new TarjetaCredito();

if (o_tc.validarTarjeta(txtnrotarjeta.Text, cldfecha.SelectedDate))
{
lblstatus.Text = "Gracias por su orden.";
}
else
{
lblstatus.Text = "Tarjeta de crédito invalida";
}

}



    1. Aplicación para el intercambio de archivos.



  1. Crear el siguiente esquema para el servicio Web.





  1. En el archivo Code-Behind DirectorioWeb agregar los siguientes namespaces y los WebMethods.





Crear el siguiente estructura, va por encima de la declaración de la propiedad de WebService.



[WebMethod]
public string[] ListarArchivos()
{
return Directory.GetFiles("d:\Publica");
}

[WebMethod (Description = "Permite al cliente solicitar un archivo.")]
public ArchivoWeb ObtenerArchivo(string nombreArchivo)
{
ArchivoWeb archivoWeb = new ArchivoWeb();
string rutaArchivo = "d:\Publica\" + nombreArchivo;

//establecer el nombre del archivo
archivoWeb.Nombre = nombreArchivo;

//obtener el contenido del archivo solicitado


Stream s = File.Open(rutaArchivo, FileMode.Open,FileAccess.Read);
archivoWeb.contenido = new byte[s.Length];
s.Read(archivoWeb.contenido, 0, (int)s.Length);
s.Close();

//obtener los sellos de fechas para el archivo
archivoWeb.FchaCreacion = File.GetCreationTime(rutaArchivo);
archivoWeb.FchaUltAcceso = File.GetLastAccessTime(rutaArchivo);
archivoWeb.FchaUltEscritura = File.GetLastWriteTime(rutaArchivo);

return archivoWeb;
}


  1. Agregar un nuevo proyecto, “Console Application”, y que tenga la siguiente estructura:





  1. Agregar la siguiente Referencia Web al servicio Web definido anteriormente:




  1. Implementar los siguiente metodos:

static int Main(string[] args)
{
//validar el numero de los argumentos de comando de linea
if (args.Length < 1 || args.Length > 3)
{
MostrarUso();
return 1;
}

//inicializar variables
string origen = args[1];
string destino = origen;

if (args.Length == 3)
{
destino = args[2];
}

//Procesar los comandos que fueron pasados
switch (args[0].ToUpper())
{
case "DIR":
ListarArchivos();
break;
case "GET":
obtenerArchivo(origen, destino);
break;
default:
MostrarUso();
break;

}

return 0;

}


private static void ListarArchivos() {
DirectorioWeb dirWeb = new DirectorioWeb();
string[] archivos;

archivos = dirWeb.ListarArchivos();

foreach (string archivo in archivos)
{
Console.WriteLine(archivo);
}

Console.WriteLine("n{0} archivo(s) en el directorio.", archivos.Length);

}

private static void obtenerArchivo(string origen,string destino) {
DirectorioWeb dirWeb = new DirectorioWeb();
ArchivoWeb archWeb = new ArchivoWeb();

//traer el archivo solicitado y guardarlo en el disco
archWeb = dirWeb.ObtenerArchivo(origen);

//guardo el archivo web requerido y lo copio a mi sistema
//de archivos
FileStream fs = File.OpenWrite(destino);
fs.Write(archWeb.contenido, 0, archWeb.contenido.Length);
fs.Close();

//establecer el sello de fecha y tiempo para el archivo
File.SetCreationTime(destino, archWeb.FchaCreacion);
File.SetLastAccessTime(destino, archWeb.FchaUltAcceso);
File.SetLastWriteTime(destino, archWeb.FchaUltEscritura);

}


private static void MostrarUso()
{
Console.WriteLine("Se usa el ArchivoWeb para traer archivos"+
"desde el servicio web directorioWeb.");
Console.WriteLine("nUso: Origen de comando archivoWeb [destination]");
Console.WriteLine("tComando - DIR o GET");
Console.WriteLine("tOrigen - El nombre del archivo a "+
"traer");
Console.WriteLine("tDestino - Opcionalmente el nombre de el"+
" archivo de destino.");
Console.WriteLine("nEjemplos");
Console.WriteLine("tArchivoWeb obtiene algun archivo.exe");
Console.WriteLine("tArchivoWeb obtiene algun archivo.exe c:temp");
Console.WriteLine("tArchivoWeb obtiene algun archivo.exe c:\temp\myfile.exe");

}



  1. Utilizándolo:



    1. Ir a la siguiente ruta:





    1. Abrir una consola, y ejecutar el .exe que se encuentra en la carpeta debug.





    1. En la siguiente consola, escribir la ruta y pasarle los parámetros requeridos.


Antes del copiado(copiaremos hola.txt).



Escribir el siguiente comando:



El archivo fue copiado satisfactoriamente:

























Bibliografía

Libro Building XML Web Services for the Microsoft .Net Platform.
Capitulo 2 – Creating a Basic Web Service.

Friday, February 09, 2007

Visual Source Safe 6.0

Conectarse a un Base de Datos


  1. Abrir VSS 6.0



  1. Abrir la BD.









  1. Elegir la base de datos, y abrir.



  1. Establecer un directorio en tu maquina, donde se creara una copia del proyecto, y estara bajo el control de VSS 5.0.



  1. En este caso le damos la ruta del directorio en mi carpeta.



  1. Dar clic en GetLastVersion, y habilitar los checks respectivos.



7. Dar click en ok.



Tuesday, January 09, 2007

Librería necesaria para desarrollar con objetos de ADOMD




Estoy revisando el siguiente link:


http://blogs.conchango.com/christianwade/archive/2006/04/30/MDX-Sprocs-and-Scripting_3A00_-An-Interesting-Example.aspx

Thursday, January 04, 2007

Host ASp. NET 2.0

Host Con ASp.NEt Gratuito, pero con trampa

En esta direccion podran obtener host para colgar sus aplicaciones asp.net 2.0,

tan solo tienen que crear una cuenta.

http://www.vwdhosting.net/

Lo malo: Dura 30 días.

Monday, December 18, 2006

Habilitacion del componente del servicio de integration services


Paso 1


Elegir servicios de componentes.



Paso 2



Paso 3



Paso 4


En seguridad dar los permisos y accesos requeridos


Sunday, December 10, 2006

Posibilidad = Probabilidad ?, soporte para cambio de año?

Posibilidad = Probabilidad ?

Posibilidades para que haiga buen tiempo, según la NASA (Administración Estadounidense de Aeronáutica y del espacio), el motivo, el lanzamiento del discovery.


· 30 por ciento la posibilidad de que el lanzamiento del «Discovery» tuviera lugar el viernes.
· 40 por ciento el domingo y el lunes.
· El martes, con un 60 por ciento de posibilidades.

Interesante

Estos señores están preocupados por el lanzamiento, aparte de la perdida diaria de 500 000 dólares, a que el lanzamiento se de antes del 17 de diciembre, para así tener a la tripulación antes del primero de enero, y no para que celebren navidad con sus familiar, si no por un "problema" de software, ya que el sistema informático con que cuenta la nave no tiene soporte para el cambio de año.


Como estudiante de ingeniera de sistemas, me llama la atención este tema.

Que hay en el cambio de año, que pueda amenazar la estabilidad de un software, depende del tipo de software?, a todos les sucederá?, pucha, no se.

Referencia: Click aqui...

Tipos de correos Electrónicos

Tipos de correos Electrónicos

Clasificación, según la finalidad:

1. Daños intrínsecos:

Son aquellos correos electrónicos cuyo propósito último es acabar con la información que poseemos, también podemos considerar dentro de esta clasificación a los bien conocidos correos de “pérdida de tiempo”, “correos basuras” o “spam” .


2. Daños extrínsecos.

Captar la atención potentes victimas que caigan en la estafa (bancaria, pishing, robo de correo electrónico) ya sea directamente o a través de intermediarios, que ponen en contacto al estafador y al presunto estafado. La finalidad de esto es conseguir importantes sumas de dinero.

Referencia: Click aqui.

Saturday, December 09, 2006

Particiones SSAS


Particiones SSAS

Una particion es una clase hija de la clase padre MeasureGroup(MG).
Una particion contiene una porcion de data de un MG, la data que va a contener cada particion es definida por dos tags (XMLA), y (este tipo no lo encuentro pero eso dicen en el link que encontre, mas abajo la ref., query mdx que referencia a una tupla o a un set),

Informacion basica para una particion:

- Nombre de la particion.
- Storage mode.
- Processing mode.

Con el slicing definition podemos usar una dimension, hierarchy, level and member names, keys, unique names, etc.(no se pueden usar funciones =( )

Con AMO (algo similar a la creacion de tables y datasets)

Existe una clase padre MG, y esta tiene una collecion de Particiones, entonces creas una una instancia de la clase particion y la agregas a esta coleccion, despues actualizas la particion usando el metodo Update. La puedes remover usando el metodo Drop.



Referencia Click aqui...