El Blog de Fede

March 2009 - Artículos

4 pasos para configurar nuestro Blog con Windows Live Writer

 

Estimados, a pedido de Yoda Fernandez, posteamos este artículo…

En 3 pasos, configuraremos el Windows Live Writer, como editor de nuestro blog, cuya plataforma es Community Server.

Primer Paso

Desde el menu “Blog”, hacemos Click en “Agregar cuenta de blog…”.

Allí, se presentará la pantalla a continuación, en la cual elegiremos la opción “Otro servicio de blog”, y luego siguiente.

Captura1

Segundo Paso

Debemos ingresar la dirección de nuestro blog, usuario y password como se indica en la imagen.

Captura2

Tercer Paso

Elegimos el tipo de blog que usamos, Community Server, y luego debemos ingresar la dirección de publicación remota del blog, que para nuestro caso es http://team.desarrollosnea.com.ar/blogs/metablog.ashx.

Captura3

Cuarto Paso

Luego del tercer paso, si todos los datos ingresados son correctos, Live Writer descarga algunas configuraciones de nuestro Community Server, y luego nos presenta la pantalla final para tan solo ponerle un lindo nombre a nuestro blog que administraremos desde el programa.

Captura4

 

Saludos, espero les sirva!!!

¿¿¿Epa, no puedo Hibernar mi PC remotamente???

Hola Amigos, como están.

El titulo fue exactamente lo que dije cuando me habia conectado a mi PC via Remote Desktop, y luego
de buscar la info que necesitaba, me disponía a hibernarla para contribuir al ahorro de energía...

Como la palabra lo dice,  "intentaba" Hibernarla sin encontrar (buscando en el botón de inicio) alguna opción donde hacer el "cómodo" Click pero no aparecía….

Captura

Inmediatamente, como ante todos estos tipos de "epa",  se lanza una "busqueda googleana"
encontrando un par de enlaces donde algunas cosas no funcionaron, salvo la que detallo
a continuación, que anduvo de primera y en camarote!!!

Para hibernarla por comandos, deben abrir una ventana DOS (o desde el Ejecutar), copiar y pegar el siguiente
comando:

rundll32.exe powrprof.dll,SetSuspendState Hibernate

Seguí googleando y encontré cosas interesantes que se pueden llamar usando la rundll32.exe,  y para
que el POST sea bastante completito, aca les paso:

Add/Remove Programs
RunDll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,0

Content Advisor
RunDll32.exe msrating.dll,RatingSetupUI

Control Panel
RunDll32.exe shell32.dll,Control_RunDLL

Date and Time Properties
RunDll32.exe shell32.dll,Control_RunDLL timedate.cpl

Display Settings
RunDll32.exe shell32.dll,Control_RunDLL access.cpl,,3

Device Manager
RunDll32.exe devmgr.dll DeviceManager_Execute

Folder Options - File Types
RunDll32.exe shell32.dll,Control_Options 2

Folder Options - General
RunDll32.exe shell32.dll,Options_RunDLL 0

Folder Options - Search
RunDll32.exe shell32.dll,Options_RunDLL 2

Folder Options - View
RunDll32.exe shell32.dll,Options_RunDLL 7

Forgotten Password Wizard
RunDll32.exe keymgr.dll,PRShowSaveWizardExW

Hibernate
RunDll32.exe powrprof.dll,SetSuspendState

Keyboard Properties
RunDll32.exe shell32.dll,Control_RunDLL main.cpl @1

Lock Screen
RunDll32.exe user32.dll,LockWorkStation

Mouse Properties
RunDll32.exe shell32.dll,Control_RunDLL main.cpl @0

Map Network Drive
RunDll32.exe shell32.dll,SHHelpShortcuts_RunDLL Connect

Network Connections
RunDll32.exe shell32.dll,Control_RunDLL ncpa.cpl

Power Options
RunDll32.exe Shell32.dll,Control_RunDLL powercfg.cpl

Regional Settings
RunDll32.exe shell32.dll,Control_RunDLL intl.cpl,,3

Stored Usernames and Passwords
RunDll32.exe keymgr.dll,KRShowKeyMgr

System Properties: Advanced
RunDll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,4

System Properties: Automatic Updates
RunDll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,5

Taskbar Properties
RunDll32.exe shell32.dll,Options_RunDLL 1

User Accounts
RunDll32.exe shell32.dll,Control_RunDLL nusrmgr.cpl

Windows Security Center
RunDll32.exe shell32.dll,Control_RunDLL wscui.cpl

Windows - About

RunDll32.exe SHELL32.DLL,ShellAboutW

Unplug/Eject Hardware
RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll

Windows Firewall
RunDll32.exe shell32.dll,Control_RunDLL firewall.cpl

Windows Network Setup
RunDll32.exe shell32.dll,Control_RunDLL NetSetup.cpl,@0,WNSW

Espero les sirva.
Saludos

Migrar 365 Archivos Excel a SQL Server 2005 sin perder tiempo…

 

Hola estimados.

Se nos presentó el siguiente escenario: había que migrar 365 archivos Excel, todos con la misma estructura a una tabla en el SQL Server.

Los nombres de los 365 archivos eran correlativos: 1.xls, 2.xls, 3.xls, …, 365.xls.
Todos los archivos tenían en la primer Hoja los datos a migrar.

Se necesitaban los datos en el SQL Server lo antes posible!!!
La versión del SQL Server era SQL Server 2005 Standard (En Ingles).

Bien, inmediatamente dijimos:

a) “hagamos un DTS con SQL Server 2000 que tenemos para pruebas, lo guardamos como un modulo en Visual Basic, y mediante una pequeña aplicación en VB6, vamos ejecutando el DTS pasándole como parámetro el nombre del archivo excel a importar….”

b) “hagamos un proyecto con SSIS (SQL Server Integration Services el sucesor del DTS) en SQL 2005, mediante una pequeña aplicación en VB.NET, vamos ejecutándolo pasándole como parámetro el nombre del archivo excel a importar….”

Bien, luego de unas pequeñas pruebas, surgieron unos pequeños dramitas con la APP en VB6 (que eran solucionables) pero dada la urgencia se decidió en ese momento avanzar paralelamente con la aplicación en VB.NET… justo ahí apareció ese instante en que uno se ilumina (por supuesto dado el escenario) y se nos ocurrió lo siguiente…

Hagámoslo con Linked Server…pero bueno como evitamos crear los 365 Linked Server??? (ya que al crear un Linked Server se vincula 1 Linked a 1 Archivo Excel)

Bien, ahí es donde surge “la magia” y nos iluminamos y decidimos utilizar OPENDATASOURCE y acceder mediante OLE DB a los archivos Excel de una manera mucho más sencilla, y fundamentalmente más rápida!!!

Utilizando un EXEC y generando el Transact-SQL dinámicamente, pudimos ir abriendo uno a uno los 365 archivos e ir insertándolos en nuestra tabla en el SQL Server.

Acá va el Transact-SQL utilizado para importar los 365 archivos:

DECLARE @Indice smallint
DECLARE @IndiceString varchar(3)

SET @Indice = 1
DELETE FROM MyTabla

WHILE @Indice <= 365
BEGIN

    SET @IndiceString = CONVERT(varchar(3),@Indice)

    EXEC('INSERT INTO MyTabla ' +
            'SELECT * FROM OPENDATASOURCE(''Microsoft.Jet.OLEDB.4.0'', ' +
            '''Data Source=C:\PathArchivos\' + @IndiceString + '.xls;Extended Properties="Excel 8.0;HDR=NO"'')...Sheet1$')

    SET @Indice = @Indice + 1
END

El WHILE se ejecutaba 365 veces, y por cada vez iba generando un EXEC que hacía en INSERT en nuestra tabla.

Un dato no menor:
Para que funcione el OPENDATASOURCE, tiene que tener el SQL Server habilitado ‘Ad Hoc Distributed Queries’. Para ello, hay que hacerlo mediante el SQL Server Surface Area Configuration Tool, o bien, mediante Transact-SQL utilizando sp_configure:

SQL Server Surface Area Configuration Tool (Surface Area Configuration for Features)

Captura

sp_configure:

sp_configure 'show advanced options', 1
reconfigure

sp_configure 'Ad Hoc Distributed Queries', 1
reconfigure

Espero les sirva.
Saludos