viernes, 18 de marzo de 2011

"La Guerra de los navegadores"

Hola a todos,

Pues en últimas fechas la guerra de los navegadores se ha puesto cada vez más fuerte, creo al momento no hay alguno superior o inferior, simplemente que ya va a depender de las necesidades de cada uno. A continuación una lista de los navegadores más famosos hoy en día y ya queda en ustedes cual prefieren:

Mozilla Firefox -> Así la zorra de fuego sigue dando batalla y hoy en día es considerado uno de los mejores navegadores que existen, seguro, confiable y rápido. Se ha ganado su lugar poco a poco en el mundo de los navegadores a tal grado de llegar a ser el navegador más usado hoy en día.


Internet Explorer 9 -> Con su reciente liberación de la versión final tiene fuertes tendencias a ser uno de los favoritos no solo por ser el default del sistema operativo más utilizado hoy en día, sino porque hay que aplaudir a Microsoft después de tantos años y tantas versiones por fin empiezan a apegarse a los estándares.  (el único detalle de IE9 es que solo es funcional con Windows Vista y Windows 7, una táctica mas de Microsoft para que la gente empiece a migrar a su ultimo sistema operativo ya que hoy en día Win XP sigue siendo el SO mas utilizado.)


Google Chrome -> De los navegadores más recientes que han entrado a la batalla pero lo ha hecho muy rápido, claro gracias a lo agresivo que ha sido su desarrollo por parte de la gente de Google, al grado de que a tan "poco" tiempo de su salida ya cuenta con una versión 10 que hoy en día es la versión mas estable. 


Opera -> Uno de los navegadores que más ha resistido al pasar del tiempo dado que no es de lo más usados pero aun así sigue liberando versiones, un plus de Opera hoy en día es que según la W3C es de los que más soporte da al estándar HTML 5. Se ha ganado un lugar especial entre los usuarios de Sistemas operativos móviles por sus versiones mejoradas para cada móvil y que de verdad le sacan el mayor provecho a las redes lentas además de disminuir costos para los que se conectan por 3G.


Safari -> Poco conocido entre los usuarios de Windows pero ya un viejo conocido para los usuarios de Apple en todas sus presentaciones. Un buen navegador pero que le falta publicidad del lado de Windows. La manera mas facil de obtenerlo es cuando se descarga Itunes. Pero a pesar de eso muchos usuarios ni se enteran de que es instalado junto con este popular reproductor de musica y mas...


Bueno pues esos son los 5 contendientes en la guerra de los navegadores, cabe destacar que no son lo unicos, existen muchas variantes en la web para estos pero con funciones mas especificas, Ya en otro post hablaremos de estas opciones que cabe aclara de una vez que en su mayoria estan basadas en alguno motor de los antes mencionados principalmente Chrome y Mozilla,

Más estadísticas en:


Saludos y hasta la próxima.


jueves, 18 de noviembre de 2010

Compartir Carpeta Programáticamente C#

Hola a todos, ya tiene rato que no escribo ninguna entrada, así que hoy quiero agregar una de como compartir una carpeta programáticamente en C# (aunque el codigo es fácil de pasar a VB.NET).

Primero que nada empezamos creando una nueva aplicación de consola.

Después en Referencias agregamos una a "System.Management".

No olviden agregar la clausula Using al inicio de su programa (también agreguen una a System.IO, para verificar que el directorio exista):

using System.Management;
using System.IO;

Agregada la referencia y todo en orden, ahora si vamos a crear nuestra función para compartir la carpeta:

private static void CompartirFolder(string rutaFolder, string nombreCompartido, string descripcion)
        {
            try
            {
                if (Directory.Exists(rutaFolder))
                {
                    ManagementClass managementClass = new ManagementClass("Win32_Share");
                    ManagementBaseObject inParams = managementClass.GetMethodParameters("Create");
                    ManagementBaseObject outParams;
                    inParams["Description"] = descripcion;
                    inParams["Name"] = nombreCompartido;
                    inParams["Path"] = rutaFolder;
                    inParams["Type"] = 0x0;
                    inParams["MaximumAllowed"] = null;
                    inParams["Password"] = null;
                    inParams["Access"] = null;
                    outParams = managementClass.InvokeMethod("Create", inParams, null);
                    if ((uint)(outParams.Properties["ReturnValue"].Value) != 0)
                    {
                        throw new Exception("No se puede compartir la carpeta.");
                    }
                }
                else
                {
                    throw new DirectoryNotFoundException("No se encontro la carpeta a compartir");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }

Una vez agregada nuestra función solo nos queda utilizarla, yo cree dos carpetas de prueba en mi disco duro.

static void Main(string[] args)
        {
            CompartirFolder("c:\\test1", "Prueba 1", "Prueba de compartir carpeta desde C-Sharp");
            CompartirFolder("c:\\test2", "Prueba 2", "Prueba de compartir carpeta desde C-Sharp");
        }

Después de correr el programa verificamos las propiedades de nuestras carpetas y veremos que han quedado compartidas.
NOTA: Como pueden darse cuenta la carpeta queda compartida con Full Control para Todos los usuarios, ya en otro post veremos cómo asignar permisos a diferentes usuarios.

Saludos y hasta la próxima.

miércoles, 1 de septiembre de 2010

Microsoft LightSwitch

Pues la gente de Microsoft acaba de liberar la beta de Microsoft Visual Studio LightSwitch. Promete mucho la verdad ya que muchas tareas repetitivas se vuelven sencillas con esta herramienta, pero habría que ver que tanto control y que tan fácil será personalizar los valores por default que brinda la herramienta. Una opción más para preocuparnos mas por el contenido de nuestra aplicación que por el desarrollo.

Mas info en:

http://www.microsoft.com/visualstudio/en-us/lightswitch/

Saludos.

[Solución] The current identity (NT AUTHORITY\NETWORK SERVICE) does not have write access

Pues configurando un nuevo servidor (Windows Server 2003) e instalando algunas aplicaciones en framework 1.1 y 2.0 me encontre con este error:
"The current identity (NT AUTHORITY\NETWORK SERVICE) does not have write access to...Temporary ASP.NET Files"
Este error puede ocurrir en instalaciones nuevas del framework o de IIS, por lo que no todo puede estar bien configurado. Afortunadamente la solución es sencilla.
  1. Abrimos un ventanda de Comandos (cmd)
  2. Nos dirigimos a la carpeta del framework que estemos utilizando, en mi caso 2.0, la ubicacion es: C:\[Windows Forlder]\Microsoft.NET\Framework\v2.0.50727\
  3. Una vez en esta carpeta pondremos el siguiente comando:
aspnet_regiis -ga "NT Authority\Network Service"
Eso deberia de solucionar nuestro problema.

Saludos.

martes, 31 de agosto de 2010

Microsoft Certification Packs



Les comento que hay un pack de certificación Microsoft en el sitio de Prometric, incluye hasta un 20% de descuento y Segunda Oportunidad para todos los exámenes que compren.


Saludos y suerte si presentan algún examen.

lunes, 28 de junio de 2010

En mi opinión…Selección Mexicana

Soy un fan más del futbol como muchos más en este país. Pero hoy quiero expresar mi total inconformidad por las personas que dirigen el futbol mexicano. No se trata de buscar culpables, que si fueron los errores de los árbitros, que si fue el “OSO” de Osorio o la mala técnica empleada por el Conejo a la hora de salir por el balón. De lo que yo hablo es de los que nos vienen haciendo esto desde hace mas de 16 años (pongo esta fecha no por que solo sea desde esa época la que nos lo han hecho, sino porque desde esa tengo vivos recuerdos) México no pasa al quinto partido no porque seamos un equipo mediocre (como he leído en muchos lugares desde ayer) o porque no se tenga capacidad, o porque seamos conformistas, la respuesta es mas sencilla México no pasa a cuartos de final por las malas decisiones tomadas por los aquellos hombres de corbata que rodean al futbol mexicano. Ahora me explico mejor.
No puede ser que por intereses propios, arrogancia, egocentrismo y demás adjetivos que no quisiera mencionar en estos momentos, acaben con la ilusión que tenemos millones de mexicanos que somos aficionados al futbol, que los habemos optimistas (como un servidor) y también pesimistas, pero que al final ante una derrota o una victoria siempre sufrimos o disfrutamos por la misma pasión que nos une El Futbol. Recuerdo aún como si fuera ayer aquel partido ante Bulgaria en el mundial de futbol de USA 1994, casi el final del partido, todo el mundo sabia que era tiempo de meter a Hugo Sánchez, todos lo sabíamos (yo tenia 11 años en aquel entonces y a mi poco conocimiento de futbol lo sabia) pero un señor que muchos recordaran, Miguel Mejía Barón, creyó que Hugo Sánchez ya era lo suficientemente arrogante para meterlo al partido y comprobar que era necesario meterlo para ganarle a los búlgaros, así que su arrogancia pudo mas y lo dejo en la banca ante la incredulidad de todo el mundo, ya no solo de los propios mexicanos. Una mala decisión, una decisión personal, buscando solamente eso, intereses personales, les puedo apostar que si México le hubiera ganado a Bulgaria en penales, Mejía Barón se hubiera parado el cuello (como se dice comúnmente) diciendo que Hugo Sánchez no era necesario en la selección mexicana para ganarle a Bulgaria, pero le salio el tiro por la culata y muy al contrario nos hizo pensar que Hugo Sánchez era aquel que hubiera cambiado el final del partido. No sé si la historia hubiera sido diferente si Hugo hubiera entrado a la cancha, pero si creo que hablando objetivamente, Hugo estaba fresco (los demás jugadores casi estaban a punto de caer de cansancio), tenia (tiene) una mentalidad ganadora que lo llevo a ser lo que pésele a quien le pese es: El mejor jugador que ha dado México y que en aquel momento hubiera estado en mejores condiciones para tirar un penal.
Pero avancemos en el tiempo un poco más, la pasada copa mundial, Alemania 2006, una vez mas la arrogancia se hace presente en los señores de pantalones largos. Ricardo La Volpe, en ese entonces DT de la selección nacional, una vez más nos vuelve a demostrar que los intereses personales están muy por delante del que realmente es el objetivo de ir a cualquier campeonato mundial, o a cualquier competencia en general, que es “GANAR”. Por diferencias personales con Cuauhtemoc Blanco, no lo convoca al equipo que iría a Alemania a participar en la justa mundialista. Un rápido recordatorio de cómo se dio todo. Todo empezó cuando Cuauhtemoc Blanco no quiso jugar con la selección nacional, debido a un cansancio extremo dijo él. A mi parecer el estuvo en lo  correcto, si uno no se siente en las condiciones suficientes para realizar algo (cualquier cosa), debes de permitir que alguien mas, que si se sienta en buenas condiciones y con las ganas para darlo todo lo intente. Pero como buenos mexicanos confundimos este acto de humildad, con arrogancia. Lo cual quiere decir que en aquel entonces hubieran preferido un Cuauhtemoc Blanco cansado y sin ganas de jugar en la cancha, que a cualquier otro jugador entero y al 100%. Cuestión de enfoques creo yo. Pero bueno el punto es que a Ricardo La Volpe no le agrado esto y cuando llego el momento de armar el equipo final que iría a Alemania, nada le importo que Cuauhtemoc pasara por uno de sus mejores momentos futbolísticos y lo dejo fuera de la justa mundialista, solamente para demostrar que él si es arrogante, egocéntrico y vengativo (al final argentino el señor). Una vez mas no sé si los resultados en Alemania hubieran sido diferentes si Blanco hubiera ido al mundial, pero siendo objetivos, cuando Cuauhtemoc Blanco entra a la cancha vistiendo la camiseta de cualquier equipo, marca una diferencia más que importante.
Ahora 16 años después de lo de Mejía Barón, 4 años después de lo de La Volpe, la arrogancia, el egocentrismo y la envidia vuelven a ser un factor mas que importante en el destino de la selección mexicana. Javier Aguirre, durante el mundial de futbol demostró una vez más que siempre será más importante demostrar que uno no se equivoca y que uno siempre toma las mejores decisiones, que ir por un bien mayor en el que todos salgamos beneficiados (en este caso el futbol mexicano y los millones de aficionado que habemos en este país). Oscar “El conejo” Pérez, un excelente portero, un excelente jugador, pero ya en el ocaso de su carrera futbolística (tanto así que hoy en día no cuanta ni siquiera con un equipo profesional con el cual jugar ahora que termino su participación en el mundial) lo pone como titular en todos los partidos de la selección, Resultado: 5 goles en contra. Guillermo Franco “El Guille” otro jugador en el ocaso de su carrera, lo pone de titular en los tres primeros partidos de la selección, en el partido contra Argentina, no lo pone como titular (ante tanta presión de los medios, redes sociales, etc.) pero al final lo mete al encuentro. Resultado: 0 goles en 3 partidos y medio. Adolfo “El Bofo” bautista, 31 años de edad, logros mmmmmmm muy pocos, un jugador que ya dio lo mejor que tenia y que ahora solo busca equipo para terminar su carrera, clasificado por muchos hoy en día como una piedra en la cancha, lo mete como titular en el partido mas importante de la selección, donde se jugaban el todo por el todo. Resultado: 0 goles y toco el balón como 5 veces y solo consiguió una falta a favor de México cerca del área Argentina, y Aguirre osa decir que él era el indicado para repartir juego, por favor. Resultados: 0 goles y muy poca interacción con el balón y en general con el equipo. Estos tres jugadores dejaron mucho que desear y fueron los que más participación tuvieron desde los juegos de preparación hasta la fecha. Por favor que alguien me explique paso con jugadores como, Javier Hernández “El Chicharito”, Pablo Barrera, Andrés Guardado, Jonathan Dos Santos, Carlos Vela, Guillermo Ochoa, Luis Michel, Cuauhtemoc Blanco (este ultimo partido lo dejo en la banca, creo que el segundo tiempo era un buen momento para meterlo), etc. Aguirre demostró su arrogancia dándoles la oportunidad al Guille Franco y al Bofo Bautista solo para demostrar que no se había equivocado al convocarlos, pero una vez mas las cosas no salieron bien, y quedo al descubierto ante toda la afición mexicana demostrando al final que si fue una mala decisión.
Pues espero que la FMF pueda tomar en consideración este tipo de cosas para cuando elijan un nuevo director técnico de la selección mexicana, ya que estoy seguro de que lo único que no cambiara para dentro de 4 años, será la afición que siempre damos lo máximo y no dejamos de creer en nuestra selección y que algún día llegara ese quinto partido y que porque no, seremos campeones del mundo.

Sé que algunos estaran de acuerdo y muchos mas en desacuerdo, acepto cualquier tipo de comentario…

Saludos…

lunes, 7 de junio de 2010

Facebook y Twitter

Solo para comentarles que me encuentro en las principales redes sociales así que pueden seguirme por las dos:

http://www.facebook.com/axy108

http://www.twitter.com/axy108

Saludos a todos.

sábado, 21 de noviembre de 2009

Windows 7…por $ 399 pesos Mex.

Pues llevo mas de 1 mes probando este nuevo sistema operativo que me imagino ya todos saben acaba de salir. Debo confesarles que estaba escéptico acerca de usarlo o no dadas las experiencias pasadas con Windows Vista, pero después de un rato de pruebas y de ver su comportamiento debo decir que recomiendo el cambio inmediatamente, mas si su maquina no tiene  grandes prestaciones como lo requería Windows Vista.

Además Microsoft acaba de lanzar un programa en México para que realicen la compra de Windows 7 Home Premium por solo 399 pesos, esta oferta es valida solo para estudiantes, y solamente de una lista de escuelas, aquí les dejo el link con los detalles de la oferta y si son estudiantes aprovéchenla porque creo que vale la pena.

http://www.microsoft.com/mexico/windows/offers/windows-7-student-upgrade.aspx

Saludos y hasta la próxima.

Live from Atlanta

Hola a todos, pues esta semana que paso y la mitad de la que viene me encuentro en Atlanta, Georgia, recibiendo capacitación para el proyecto en el que estaré trabajando. Les mando un saludo desde acá y nos seguimos leyendo, espero pronto darme un tiempo para colocar otro nuevo tutorial.

Saludos y hasta la próxima.

Nuevo Trabajo

Pues si con la noticia de que me cambie de Trabajo, después de casi 4 años de laborar en AxxiS Consulting, he cambiado de trabajo, ya tiene aproximadamente 1 mes que me cambie, pero por lo mismo del cambio y todo eso no había tenido tiempo de escribir en mi BLOG, quiero agradecer a AxxiS y a todos mis compañeros que siempre me apoyaron y me entendieron, me llevo grandes experiencias y además y mas importantes grandes amigos con los cuales compartí y disfrute muchas cosas, hoy tomo otro camino en mi vida, y espero que todo salga bien. Saludos a todos en AxxiS y no me queda mas que decir: GRACIAS por todo.

Saludos y hasta la próxima.

viernes, 9 de octubre de 2009

Crear Lista o Biblioteca Dinámicamente en SharePoint Services 3.0 o MOSS 2007 con C#

SharePoint Services 3.0 y SharePoint Server día a día se han vuelto herramientas mas y mas utilizadas por las empresas (Sitio Oficial), pero a veces las funcionalidades que vienen incluidas no son suficientes, y se nos solicita que hagamos desarrollos a la medida.
Tiene rato que trabajo con SharePoint, he trabajado mas del lado de Administración que del lado de Desarrollo, pero hace un tiempo tuve la necesidad de crear una biblioteca de manera dinámica en un proyecto ASP.NET con C#, buscando un poco de información sobre como hacerlo, me encontré con que SharePoint cuenta con una serie de Web Services que podemos utilizar para interactuar con el Servidor. Existen una gran cantidad de Web Services, (Lista completa de Web Services) pero aquí mostraré como crear una lista de manera dinámica…
1. Abrimos Visual Studio (en mi caso VS 2008) y creamos un nuevo Proyecto Web, le ponemos de nombre “ListaDinamica”
2. Vamos al Solution Explorer y damos clic derecho sobre nuestro proyecto->Add Web Reference
Aquí es donde viene la parte interesante, vamos a agregar la referencia a nuestro Web Service de SharePoint, estos se instalan en cada sitio que creemos y se encuentran en la siguiente ruta:
http://<site>/_vti_bin/nombreDelServicio
Donde el nombre del Servicio cambiara dependiendo cual será el que utilicemos, para este ejemplo será el d “Lists”:
http://<site>/_vti_bin/Lists.asmx
Colocamos nuestra URL y damos clic en el botón Go…Una vez que descubra el Web Service, colocamos un nombre en el campo de “Web Reference Name”, ejemplo: “ServicioSharepoint” y damos clic en el botón “Add Reference”…
Free Image Hosting at www.ImageShack.us
3. Ahora agregaremos unos controles a nuestra pagina para probar nuestro Web Service. Aquí sus propiedades:
Control
ID
Text
LabellblTipoListaTipo de Lista:
LabellblNombreNombre:
LabellblDescipcionDescripción:
LabellblResultadoSharepoint
TextBoxtxtNombre
DropDownListddlTipo
TextBoxtxtDescripcion
ButtonbtnCrearCrear
Nos quedaría algo así:
4. Ahora vamos a la parte del código de nuestra pagina, y en el evento Load agregamos el Siguiente código:
 protected void Page_Load(object sender, EventArgs e)
 {
 ddlTipo.Items.Add(new ListItem("Announcements", "104"));
 ddlTipo.Items.Add(new ListItem("Contacts", "105"));
 ddlTipo.Items.Add(new ListItem("Custom List", "100"));
 ddlTipo.Items.Add(new ListItem("Custom List in Datasheet View", "120"));
 ddlTipo.Items.Add(new ListItem("DataSources", "110"));
 ddlTipo.Items.Add(new ListItem("Discussion Board", "108"));
 ddlTipo.Items.Add(new ListItem("Document Library", "101"));
 ddlTipo.Items.Add(new ListItem("Events", "106"));
 ddlTipo.Items.Add(new ListItem("Form Library", "115"));
 ddlTipo.Items.Add(new ListItem("Issues", "1100"));
 ddlTipo.Items.Add(new ListItem("Links", "103"));
 ddlTipo.Items.Add(new ListItem("Picture Library", "109"));
 ddlTipo.Items.Add(new ListItem("Survey", "102"));
 ddlTipo.Items.Add(new ListItem("Tasks", "107"));
}


Esto agregar al DropDownList los diferentes tipos de Listas que podemos crear con el Web Service de SharePoint.
Para mas información ver:
http://msdn.microsoft.com/en-us/library/lists.lists.addlist.aspx

5. En la vista de diseño vamos a dar doble clic sobre el botón crear y agregamos el siguiente código:
protected void btnCrear_Click(object sender, EventArgs e)
    {
        System.Net.NetworkCredential credenciales = new System.Net.NetworkCredential("usuarioSharepoint","PasswordSharepoint", "DominioSharepoint");
        ServicioSharePoint.Lists servicioList = new ServicioSharePoint.Lists();
        servicioList.Credentials = credenciales;
        XmlNode ndList = servicioList.AddList(txtNombre.Text, 
        txtDescripcion.Text, int.Parse(ddlTipo.SelectedValue));
        lblResultadoSharepoint.Text= ndList.OuterXml;
    }

Si examinamos el código vemos que primero creamos un Objeto de tipo NetworkCredential, donde le mandamos al constructor el Usuario, Password y el dominio de nuestro sitio de SharePoint, tiene que ser un usuario valido y además tener permisos para crear Listas.
Después creamos una instancia de nuestro Servicio de SharePoint y le asignamos las credenciales, para que las utilice al momento de invocar el Web Service.
En la siguiente instrucción donde mandamos llamar el método AddList del Servicio observamos que lo que nos devuelve es un XmlNode, que es donde viene toda la información  de la lista creada en el Sitio. Por simplicidad del ejemplo solo lo coloque en una etiqueta, pero tal vez ustedes puedan mostrar la información al usuario con un poco de mas formato.
Para que este código funcione de manera adecuada hay que agregar una referencia a:
System.Xml;
6. Probamos nuestro código y vemos los resultados en nuestro sitio de SharePoint:


Como pueden ver no es tan complicado como podemos pensar, si necesitan mas información sobre el Servicio Lists visiten:
http://msdn.microsoft.com/en-us/library/lists.aspx

Y mas Información sobre los Web Service de SharePoint y el alcance de los mismos, chequen:

http://msdn.microsoft.com/en-us/library/dd878586.aspx

Saludos y hasta la próxima.

En Cámara Lenta – Discovery Channel

Ayer tuve un tiempo de descanso en mi casa, y me puse a ver la tele, cambiándole de canal por todo el cable, me encontré con este programa de Discovery, se los recomiendo mucho, el ver como las cosas pasan en cámara lenta es impresionante y por lo menos a mi me encanto. Aquí les dejo la liga del programa para mas información:

http://www.tudiscovery.com/web/camaralenta/

Saludos y hasta la próxima.

jueves, 8 de octubre de 2009

Solución al Error “There is insufficient memory or disk space. Save the document now” o “Memoria Insuficiente. Guarde el documento ahora.”

El otro día tuve la necesidad de Crear Documento de Word dinámicamente desde ASP.NET, y encontré muchos ejemplos en la red, busque un código, lo implemente y cuando lo corrí en mi maquina (Windows Vista, Office 2003 y VS 2008) todo jalo de maravilla, pero llego el momento de publicar el sitio en IIS y en un Servidor, y ahí empezaron los problemas, cuando intentábamos crear el documento nos mandaba un error de que no había suficiente memoria, lo cual obviamente no era el problema ya que el Servidor tenia RAM suficiente y espacio en Disco también, investigando encontré que el problema es con la configuración del componente COM utilizado para generar el documento dinámicamente y aquí les dejo como solucionarlo paso a paso:

Primero ejecutamos el siguiente comando desde la ventana de Ejecutar (RUN), en Windows Vista lo pueden escribir en la opción de Iniciar búsqueda del botón de inicio:

DCOMCNFG

Se nos abrirá la ventana de configuración de Servicios de Componentes. Ya ahí vamos a:

Servicios de Componentes->Equipos->MI PC->Configuración DCOM

Free Image Hosting at www.ImageShack.us

Y Buscamos la entrada que dice: “Documento de Microsoft Word” (si su equipo esta en ingles puede que diga “Word Document”) damos clic derecho sobre esta entrada y después en Propiedades. En la Ventana de Propiedades vamos a la ultima pestaña que dice Identidad, y donde nos pregunta “¿'Que cuenta de Usuario desea utilizar para ejecutar esta aplicación?” seleccionamos “El Usuario Interactivo”, aquí una pantalla de lo mencionado:

Alberto Alvarado Jimeéez

Aceptamos los cambios y cerramos la Ventana de Servicios de Componentes, y eso es todo el error debería de quedar corregido.

Saludos y hasta la próxima.

lunes, 5 de octubre de 2009

Red local entre Virtual PC y equipo Host

Muchas veces es necesario generar una maquina virtual para hacer pruebas de servidores, en mi caso tuve que generar una para un servidor de SharePoint, pero tenia el problema de que no lo podía ver desde mi equipo Host, así que me di a la tarea de investigar como era posible y aquí los pasos.

Primero que nada hay que descargar la ultima versión de Virtual PC, que afortunadamente ya es gratuita, aquí el link de descarga:

Descargar Virtual PC

Lo instalamos, y una vez instalado cargamos una maquina virtual que tengamos ya hecha o creamos una desde cero, omitiré esos pasos ya que no es el objetivo de este tutorial. Nuestra Pantalla lucirá así:

De momento es todo con el virtual PC, ahora necesitamos instalar un componente de Windows que será el que nos permita crear la Red Virtual entre la Virtual PC y el sistema Host, este componente se llama, Adaptador de Bucle Invertido de Microsoft, para nuestra fortuna viene integrado dentro de la instalación del SO, así que solo seguiremos los siguientes pasos:

1. Vamos a Panel de Control-> Agregar Hardware…

Free Image Hosting at www.ImageShack.us

2. En el Wizard de agregar Hardware seleccionamos Siguiente en la primer pantalla, después elegimos: “Instalar el Hardware Seleccionado de una Lista (Avanzado)” y damos clic en siguiente.

3. Nos aparecerá una lista con los Tipos de Hardware mas comunes, seleccionamos Adaptadores de Red.

4. En la siguiente pantalla (que tarda un poco en cargar) nos muestra la lista de marcas y adaptadores disponibles por marca, del lado derecho buscamos Microsoft y en la lista del lado derecho seleccionamos “Adaptador de Bucle Invertido de Microsoft” y damos clic una vez mas en siguiente.

Free Image Hosting at www.ImageShack.us

5. En la ultima pantalla damos siguiente una vez mas para confirmar la selección y esperamos en lo que el adaptador se instala.

Esto provocara que se agregue una nueva conexión de red, esta es nuestra red virtual, si vamos ahora a Panel de control->Conexiones de Red veremos el adaptador instalado:

Free Image Hosting at www.ImageShack.us

Ahora vamos a configurar el nuevo Adaptador para poder formar una Red Local entre las dos maquinas…Damos clic Derecho sobre el adaptador, seleccionamos propiedades, verificamos que tenga Seleccionada la opción de Virtual Machine Network Services, y seleccionamos donde dice Protocolo de Internet versión 4 y damos clic en el botón de propiedades de abajo.

En la Ventana que nos sale, vamos a configurar la IP que tendrá nuestro Host dentro de la Red que vamos a montar, vamos a poner las siguientes:

Dirección IP: 192.168.2.1
Mascara de Subred: 255.255.255.0

Free Image Hosting at www.ImageShack.us

Aceptamos esta ventana y cerramos la siguiente, hasta aquí seria todo para el equipo Host, ahora vamos a configurar la Maquina Virtual.

De regreso en el Virtual PC Seleccionamos nuestra Maquina Virtual y damos clic en el botón de propiedades, en la ventana de propiedades vamos a la parte de Red y en la parte derecha seleccionamos un adaptador de red en el primer combo y después seleccionamos “Adaptador de Bucle Invertido de Microsoft”, la configuración queda como sigue:

Free Image Hosting at www.ImageShack.us

Aceptamos todas las configuraciones y arrancamos nuestra Maquina Virtual. una vez que arranca nuestra maquina virtual, vamos a repetir los mismos pasos que en la maquina Host para configurar la IP del adaptador, Estos es:

Vamos a Panel de Control->Administrar Conexiones de Red, Damos clic derecho sobre el adaptador de Red, seleccionamos Propiedades.

En la nueva ventana seleccionamos la opción que dice Protocolo de Internet versión 4 y damos clic sobre el botón propiedades, solo que ahora vamos  a asignara otra IP a la Maquina Virtual pero dentro del mismo rango que la de la maquina Host:

Dirección IP: 192.168.2.2
Mascara de Subred: 255.255.255.0

Free Image Hosting at www.ImageShack.us

Aceptamos la configuración y damos cerrar en la otra ventana.

Ya con esta configuración es suficiente para que tengamos nuestra Red Local entre la maquina Virtual y el equipo Host. Aquí unas imágenes que comprueban lo que menciono:

Vista de la red de la maquina Virtual:

Ping desde la maquina Virtual a la Maquina Host, chequen que es la IP que utilizamos en la configuración de la maquina Host:

Ping desde la maquina Host a la maquina Virtual con la IP que le asignamos:


Ahora podemos montar servicios, compartir carpetas, etc. y tener acceso a ellos desde la maquina Virtual o viceversa.

Bueno hasta aquí este Tutorial, cualquier duda o comentario no duden en dejarlo o mandarme un correo.

Saludos.

Identidad Sustituta

El día de ayer me fui a ver esta película con Bruce Willis, se me hizo muy buena la verdad, es como que una reflejo avanzado de lo que ya hoy en día es nuestra sociedad, nos estamos convirtiendo en una sociedad virtual, solo por mencionar unos ejemplos, ahí esta MySpace, Hi5, FaceBook, el juego tan famoso que creo que todos hemos escuchado de el THE SIMS, etc., en la película hay partes que parecen demasiado absurdas y tontas, pero ya que analizamos con detenimiento lo que ahí sucede, de verdad que no saben cuanto se parece a la vida actual…bueno se las recomiendo mucho y lo dejo a discreción de cada uno de ustedes…

Saludos.

jueves, 1 de octubre de 2009

Concierto de Placebo

Pues con la novedad de que ayer me fui a ver el concierto de Placebo, se los recomiendo mucho, en lo personal no soy muy fan de ellos ni del tipo de música, pero debo decir que vale la pena completamente, así que si alguien tiene oportunidad de irlos a ver de verdad que no se los pierdan.

domingo, 27 de septiembre de 2009

GamerTag Xbox 360

Bueno pues acabo de agregar mi Gamertag de Xbox 360, lo pueden ver en el lado derecho del blog, así que los que quieran jugar en línea agréguenme y nos ponemos de acuerdo para jugar.

Saludos y hasta la próxima.

sábado, 26 de septiembre de 2009

Reiniciar Columnas Identity de Tablas en SQL Server

Bueno pues el otro día me tope con un problema no muy frecuente pero que creo que a todos nos puede pasar, estaba trabajando con un tabla que tiene su primary key como identity, en particular un catalogo de datos.

Tuve la necesidad de exportar esos datos a otra BD de producción y por unos errores al momento de la importación resulto que los índices ya no coincidían, porque los valores que se insertaron ahora eran diferentes de los que yo necesitaba.

Pues investigando un poco me encontré con una esta instrucción de T-SQL:

DBCC CHECKIDENT (‘NombreDeLaTabla’, RESEED,0)

Con esta instrucción podemos reiniciar los valores identity de la tabla en cuestión, yo tuve la necesidad de regresarlos a 0, pero ese valor puede ser cualquier otro que necesiten.

Para mas detalles les dejo el link de referencia de MSDN.

http://msdn.microsoft.com/es-es/library/ms176057.aspx

Saludos y hasta la próxima.

Examen 70-536…

Pues con la novedad de que he pasado mi primer examen de Certificación Microsoft, espero seguir así y el siguiente mes traerles mas noticias de mi camino a la certificación, el siguiente examen que haré será el 70-505.

Saludos y hasta la próxima…

miércoles, 22 de agosto de 2007

Exportar e Importar datos de SQL a Excel y Viceversa sin DTS

Bueno hace poco, tuve que realizar una importación de datos de Excel a SQL Server, la primera vez la realice con el Wizard de importación, pero hice una búsqueda en Google para ver si había una manera mas fácil y rápida, y si existe solo que todas las referencias que encontré por desgracia están en ingles, así que también uno de los propósitos de este blog es brindar recursos a la comunidad de desarrolladores mexicanos y latinoamericanos, pero en español, así que en mi primer entrada les explicare como se realiza este proceso.

Importación

Aquí tenemos una vista del libro de Excel del cual queremos leer los datos.

Free Image Hosting at www.ImageShack.us

Para mayor facilidad en la lectura de los datos yo guarde el archivo en raíz, para que su ruta sea esta: C:\prueba.xls.

Entonces ahora lo que procede es escribir el query en el manager de Sql Server, el cual queda así:

SELECT *
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=c:\libro.xls',
'SELECT * FROM [exportar$]')

Si revisamos un poco el query veremos que no tiene gran ciencia a no ser por la instrucción OPENROWSET, la cual sirve para conectarnos a diversas fuentes de datos, y el ultimo select sirve para decirle a la función OPENROWSET de que hoja de Excel es de la que queremos traer los datos, si revisan la imagen de arriba, podrán ver que la hoja de mi libro de Excel se llama exportar.

El primer problema que me encontré al tratar de ejecutar este query fue que necesita tener habilitada la siguiente opción:

'Ad Hoc Distributed Queries', y para habilitar dicha opción necesitaremos ejecutar la siguiente consulta:

sp_configure 'show advanced options',1
reconfigure with override
go
sp_configure 'Ad Hoc Distributed Queries',1
reconfigure with override
go

Con las cuales modificamos su valor de default que es 0 por 1, si desean regresar al valor predefinido, necesitan ejecutar la consulta solo que en lugar de 1 le deberán poner 0.

Ahora si, al momento de ejecutar el query el resultado es el siguiente:

Free Image Hosting at www.ImageShack.us

Una vez que ya pudimos leer los datos del libro podremos hacer lo que queramos con ellos con mas consultas SQL, como insertarlos en una tabla existente, crear una tabla exclusiva para estos datos, etc, etc.

EXPORTAR

Para exportar datos a un libro de Excel, es igual de sencillo, solo cambia un poco la estructura del query, y un par de detalles que hay que cuidar.

El query queda así:

insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=c:\prueba1.xls;',
'SELECT * FROM [Sheet1$]') select * from GASTOS

Lo que estamos diciendo aquí es que queremos que inserte dentro de nuestra hoja de Excel “C:\prueba1.xls”, dentro de la hoja1 “["Sheet11$"]”, todo lo que encuentre dentro de la tabla GASTOS.

Los dos pequeños detalles a cuidar aquí son:

  1. El libro de Excel ya debe de existir en la ruta que le especifiquemos, esta instrucción no tiene la habilidad de crearlo.
  2. Dentro del libro que ya debe de estar creado, deben de existir en la primer fila el nombre de las columnas que se exportaran desde la(s) tablas de SQL Server.

Y eso es todo para mi primer entrada, espero les sea de utilidad.

Saludos,

.:.:AXY:.:.