<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Tips, Trucos y Anotaciones - Esquina .Net</title>
	<atom:link href="http://esquinadotnet.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://esquinadotnet.wordpress.com</link>
	<description>Tecnología .net, SQL Server y lo que se me ocurra</description>
	<lastBuildDate>Fri, 06 Nov 2009 17:09:40 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='esquinadotnet.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/d90d3dba9cee4416bf5de15d190a0c2d?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Tips, Trucos y Anotaciones - Esquina .Net</title>
		<link>http://esquinadotnet.wordpress.com</link>
	</image>
			<item>
		<title>Validar una fecha en formato mm/YYYY (mes/año) con JavaScript y Expresiones Regulares</title>
		<link>http://esquinadotnet.wordpress.com/2009/11/04/validar-una-fecha-en-formato-mmyyyy-mesano-con-javascript-y-expresiones-regulares/</link>
		<comments>http://esquinadotnet.wordpress.com/2009/11/04/validar-una-fecha-en-formato-mmyyyy-mesano-con-javascript-y-expresiones-regulares/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 23:02:31 +0000</pubDate>
		<dc:creator>esquinadotnet</dc:creator>
				<category><![CDATA[Expresiones Regulares]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Tips&Tricks]]></category>

		<guid isPermaLink="false">http://esquinadotnet.wordpress.com/?p=181</guid>
		<description><![CDATA[Para validar una fecha en formato mes/año o mm/YYYY usando JavaScript se puede hace uso de la siguiente funcion, que hace uso de una expresion regular, de hecho, las expresiones regulares abren un mundo de posibilidades.
function validateMMYYYY(cadena) {
	var reg = new RegExp(&#34;(((0[123456789]&#124;10&#124;11&#124;12)/(([1][9][0-9][0-9])&#124;([2][0-9][0-9][0-9]))))&#34;);

	if (reg.test(cadena))
		return true;
	else
		return false;
}
Recomiendo usar Expresso de www.ultrapico.com, para crear las expresiones regulares y [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=181&subd=esquinadotnet&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Para validar una fecha en formato mes/año o mm/YYYY usando JavaScript se puede hace uso de la siguiente funcion, que hace uso de una expresion regular, de hecho, las expresiones regulares abren un mundo de posibilidades.</p>
<pre class="brush: jscript;">function validateMMYYYY(cadena) {
	var reg = new RegExp(&quot;(((0[123456789]|10|11|12)/(([1][9][0-9][0-9])|([2][0-9][0-9][0-9]))))&quot;);

	if (reg.test(cadena))
		return true;
	else
		return false;
}</pre>
<p>Recomiendo usar Expresso de <strong><a title="www.ultrapico.com" href="http://www.ultrapico.com" target="_blank">www.ultrapico.com</a></strong>, para crear las expresiones regulares y probarlas. Una pagina para las expresiones regulares es precisamente <strong><a title="RegExLib" href="http://regexlib.com/" target="_blank">http://regexlib.com</a></strong></p>
Posted in Expresiones Regulares, General, JavaScript, Tips&amp;Tricks Tagged: Expresiones Regulares, JavaScript, Tips&amp;Tricks <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/esquinadotnet.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/esquinadotnet.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/esquinadotnet.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/esquinadotnet.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/esquinadotnet.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/esquinadotnet.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/esquinadotnet.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/esquinadotnet.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/esquinadotnet.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/esquinadotnet.wordpress.com/181/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=181&subd=esquinadotnet&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://esquinadotnet.wordpress.com/2009/11/04/validar-una-fecha-en-formato-mmyyyy-mesano-con-javascript-y-expresiones-regulares/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6317f7619af72eb8b1d3e343265cc465?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">esquinadotnet</media:title>
		</media:content>
	</item>
		<item>
		<title>Calcular el primer dia y el ultimo de un mes dado, en SQL</title>
		<link>http://esquinadotnet.wordpress.com/2009/11/04/calcular-el-primer-dia-y-el-ultimo-de-un-mes-dado-en-sql/</link>
		<comments>http://esquinadotnet.wordpress.com/2009/11/04/calcular-el-primer-dia-y-el-ultimo-de-un-mes-dado-en-sql/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 22:40:27 +0000</pubDate>
		<dc:creator>esquinadotnet</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Tips&Tricks]]></category>

		<guid isPermaLink="false">http://esquinadotnet.wordpress.com/?p=185</guid>
		<description><![CDATA[Para el acordeón, una forma de calcular el dia inicial y final de un mes, esto con el fin de determinar si un mes tiene 28, 30 o 31, es de la siguiente manera.
declare @mes varchar(2)
declare @fecha as varchar(8)
set @mes = '02'
set @fecha = '2009' + @mes + '01'
select @fecha AS FECHA_INICIAL,
	CAST (@fecha as smalldatetime) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=185&subd=esquinadotnet&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Para el acordeón, una forma de calcular el dia inicial y final de un mes, esto con el fin de determinar si un mes tiene 28, 30 o 31, es de la siguiente manera.</p>
<pre class="brush: sql;">declare @mes varchar(2)
declare @fecha as varchar(8)
set @mes = '02'
set @fecha = '2009' + @mes + '01'
select @fecha AS FECHA_INICIAL,
	CAST (@fecha as smalldatetime) AS FECHA_INICIAL,
	dateadd(m,1, CAST (@fecha as smalldatetime)) AS FECHA_SIGUIENTE,
	dateadd(d,-1,dateadd(m,1, CAST (@fecha as smalldatetime))) AS FECHA_FINAL</pre>
<p>Un escenario que me imagino para usarlo es en el que se requiere calcular o ejecutar un proceso en un mes en particular (fecha entre un rango inicial y final), sin embargo, esto es solo una curiosidad, porque tambien es posible hacer un calculo para un mes en particular poniendo en la condicion algo así como esto</p>
<pre class="brush: sql;">SELECT * FROM TABLA WHERE MONTH(FECHA)=@MES</pre>
<p>Sin embargo, creo que hacerlo de esta manera, de tener un índice la TABLA en cuestión no se usuaría en la consulta, no así si usaramos una condición de tipo <strong>between @FECHA_INICIAL AND @FECHA_FINAL</strong>. Que alguien me corriga, si tengo la idea errónea.</p>
Posted in SQL Server, Tips&amp;Tricks Tagged: SQL Server, Tips&amp;Tricks <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/esquinadotnet.wordpress.com/185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/esquinadotnet.wordpress.com/185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/esquinadotnet.wordpress.com/185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/esquinadotnet.wordpress.com/185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/esquinadotnet.wordpress.com/185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/esquinadotnet.wordpress.com/185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/esquinadotnet.wordpress.com/185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/esquinadotnet.wordpress.com/185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/esquinadotnet.wordpress.com/185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/esquinadotnet.wordpress.com/185/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=185&subd=esquinadotnet&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://esquinadotnet.wordpress.com/2009/11/04/calcular-el-primer-dia-y-el-ultimo-de-un-mes-dado-en-sql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6317f7619af72eb8b1d3e343265cc465?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">esquinadotnet</media:title>
		</media:content>
	</item>
		<item>
		<title>Ayuda con la sintaxis para ejecutar DTS con DTSRun, usando DTSRunUI</title>
		<link>http://esquinadotnet.wordpress.com/2009/05/08/ayuda-con-la-sintaxis-para-ejecutar-dts-con-dtsrun-usando-dtsrunui/</link>
		<comments>http://esquinadotnet.wordpress.com/2009/05/08/ayuda-con-la-sintaxis-para-ejecutar-dts-con-dtsrun-usando-dtsrunui/#comments</comments>
		<pubDate>Fri, 08 May 2009 20:55:41 +0000</pubDate>
		<dc:creator>esquinadotnet</dc:creator>
				<category><![CDATA[DTS]]></category>
		<category><![CDATA[SQL Server 2000]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Jobs]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://esquinadotnet.wordpress.com/?p=167</guid>
		<description><![CDATA[Hace poco se nos presentó un problema con un Job de SQLServer 2000, la descripción de la falla indicaba lo siguiente:
Executed as user: NT AUTHORITY\SYSTEM.
Line 1: Incorrect syntax near &#8216;/&#8217;.
[SQLSTATE 42000] (Error 170)  The identifier that starts with &#8216;Z0&#215;662C096C16742FAD8CDB6A2BED09B343726B56DC63026D657
E0B5D08C6C8BAF4A49AD11C72729B9A6945B8E0A4568BE4E4CD6
AAD2A7B47C0F5147EA2DF12C&#8217; is too long.
Maximum length is 128.
[SQLSTATE 42000] (Error 103).  The step failed.
(1 row affected)
Buscando [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=167&subd=esquinadotnet&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hace poco se nos presentó un problema con un Job de SQLServer 2000, la descripción de la falla indicaba lo siguiente:</p>
<blockquote><p>Executed as user: NT AUTHORITY\SYSTEM.<br />
Line 1: Incorrect syntax near &#8216;/&#8217;.<br />
[SQLSTATE 42000] (Error 170)  The identifier that starts with &#8216;Z0&#215;662C096C16742FAD8CDB6A2BED09B343726B56DC63026D657<br />
E0B5D08C6C8BAF4A49AD11C72729B9A6945B8E0A4568BE4E4CD6<br />
AAD2A7B47C0F5147EA2DF12C&#8217; is too long.<br />
Maximum length is 128.<br />
[SQLSTATE 42000] (Error 103).  The step failed.</p>
<p>(1 row affected)</p></blockquote>
<p>Buscando la razón de la falla, me tope con la posible solución en la <strong><a title="Getting Syntax Help for DTSRun" href="http://www.sqldts.com/301.aspx" target="_blank">página de SQLDTS</a></strong>, que explica como usar la interfaz gráfica para la ejecución de DTS (Paquetes de Transformación de Datos) con DTSRunUi.</p>
<p>Es posible programar un paquete DTS desde el Enterprise Manager, esto hace que se genere un job y en los pasos dentro de las propiedades se incluya un comando del SO que llama al DTSRun con algo así como: DTSRun /~Z0xD3D4C356186A9DC77B1EE2E50C9A&#8230; esta cadena es posible generarla con la herramienta DTSRunUI</p>
<p><span id="more-167"></span>De la manera siguiente:</p>
<p>Ejecutamos DTSRunUI desde Inicio| Ejecutar&#8230;</p>
<p>Se nos abre la ventana principal, donde seleccionaremos el nombre del DTS como se indica.</p>
<div id="attachment_173" class="wp-caption aligncenter" style="width: 454px"><img class="size-full wp-image-173" title="Ejecucion de un DTS" src="http://esquinadotnet.files.wordpress.com/2009/05/ejecucion-de-un-dts2.png?w=444&#038;h=430" alt="Interfaz gráfica para el DTSRun" width="444" height="430" /><p class="wp-caption-text">Interfaz gráfica para el DTSRun</p></div>
<p>Hacemos clic en el boton avanzadas&#8230;</p>
<div id="attachment_172" class="wp-caption aligncenter" style="width: 420px"><img class="size-full wp-image-172" title="Generar" src="http://esquinadotnet.files.wordpress.com/2009/05/generar.png?w=410&#038;h=438" alt="Generar Cadena con la sintaxis del DTSRun" width="410" height="438" /><p class="wp-caption-text">Generar Cadena con la sintaxis del DTSRun</p></div>
<p>Para agregar las variables si es que se necesitan. Nos da la opción de generar el comando cifrado.</p>
<p>Finalizamos haciendo clic en el boton generar&#8230; lo que nos genera:</p>
<blockquote><p>DTSRun /S &#8220;(local)&#8221;<br />
/N &#8220;FTP&#8221;<br />
/G &#8220;{7245863C-16F0-47BB-879E-E24EB7818D99}&#8221;<br />
/A &#8220;Variable1&#8243;:&#8221;8&#8243;=&#8221;123&#8243;<br />
/W &#8220;0&#8243;<br />
/E</p></blockquote>
<p>y como cadena cifrada nos arroja:</p>
<blockquote><p>DTSRun /~Z0&#215;37273828B8E1D751F5C03177D406361FFDA45A75902099E<br />
5FC4B0F40BA28A006AB98C52B41B3D898AD3569FDBC61ADFD5F<br />
9823C717192CBACDBD6B3BD0387D337B164182FD862BC6DBE92<br />
8E67BE2F62133EC1B04A12FB75B5F7979E5494878230E66CE4F4<br />
5DF9BEEF767FA9CEF6235C7C4C741555C97A4421D4FEE78B78FF<br />
D6739975C93D9C93F70B9CC5E4CB1A6099C8B155DA990EF35235<br />
5936F1C1CAC32764D8DDE787386853BCA912A74826B35C6D8123<br />
EF3385CDEDC27C886C1712366BF7A4666E8396F3BFBF9D493735<br />
54FDB91F7A19E45BE582FE5B1033D2576DC9F638EC202</p></blockquote>
<p>Saludos.</p>
Posted in DTS, SQL Server 2000, Tools, Troubleshooting Tagged: DTS, Jobs, SQL Server, SQL Server 2000 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/esquinadotnet.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/esquinadotnet.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/esquinadotnet.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/esquinadotnet.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/esquinadotnet.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/esquinadotnet.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/esquinadotnet.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/esquinadotnet.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/esquinadotnet.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/esquinadotnet.wordpress.com/167/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=167&subd=esquinadotnet&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://esquinadotnet.wordpress.com/2009/05/08/ayuda-con-la-sintaxis-para-ejecutar-dts-con-dtsrun-usando-dtsrunui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6317f7619af72eb8b1d3e343265cc465?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">esquinadotnet</media:title>
		</media:content>

		<media:content url="http://esquinadotnet.files.wordpress.com/2009/05/ejecucion-de-un-dts2.png" medium="image">
			<media:title type="html">Ejecucion de un DTS</media:title>
		</media:content>

		<media:content url="http://esquinadotnet.files.wordpress.com/2009/05/generar.png" medium="image">
			<media:title type="html">Generar</media:title>
		</media:content>
	</item>
		<item>
		<title>Error en el MS Project 2007 al visualizar el Diagrama de Gantt. Solucionado</title>
		<link>http://esquinadotnet.wordpress.com/2009/03/17/error-en-el-ms-project-2007-al-visualizar-el-diagrama-de-gantt-solucionado/</link>
		<comments>http://esquinadotnet.wordpress.com/2009/03/17/error-en-el-ms-project-2007-al-visualizar-el-diagrama-de-gantt-solucionado/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 18:55:10 +0000</pubDate>
		<dc:creator>esquinadotnet</dc:creator>
				<category><![CDATA[Project 2007]]></category>
		<category><![CDATA[Tips&Tricks]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://esquinadotnet.wordpress.com/?p=161</guid>
		<description><![CDATA[Me sucedió que me enviaron un archivo de MS Project hecho en la versión 2007 en español, tengo la versión en inglés. Al intentar abrirlo me marca el error:
The view or Report cannot be displayed because the table &#8220;Entrada&#8221; on which it is based has been deleted.
Este error lo muestra al abrirlo la primera vez. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=161&subd=esquinadotnet&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Me sucedió que me enviaron un archivo de MS Project hecho en la versión 2007 en español, tengo la versión en inglés. Al intentar abrirlo me marca el error:</p>
<blockquote><p><strong><em>The view or Report cannot be displayed because the table &#8220;Entrada&#8221; on which it is based has been deleted.</em></strong></p></blockquote>
<p>Este error lo muestra al abrirlo la primera vez. Sólo se puede visualizar el Tracking Gantt, pero no la vista Gantt Chart, que al querer seleccionarlo muestra información adicional.</p>
<div id="attachment_162" class="wp-caption aligncenter" style="width: 520px"><img class="size-full wp-image-162" title="Mensaje de Error al visualizar el diagrama de Gantt" src="http://esquinadotnet.files.wordpress.com/2009/03/mensaje-gantt-chart.jpg?w=510&#038;h=175" alt="Mensaje de Error al visualizar el diagrama de Gantt." width="510" height="175" /><p class="wp-caption-text">Mensaje de Error al visualizar el diagrama de Gantt.</p></div>
<p><span id="more-161"></span></p>
<blockquote><p><strong><em>The view or Report cannot be displayed because the table &#8220;Entrada&#8221; on which it is based has been deleted</em></strong></p>
<p><strong><em>Try the Folowing:<br />
</em></strong></p>
<ul>
<li><strong><em>Use a diferent table for the view. On the View Menu, click More Views, select the view, and then click Edit.</em></strong></li>
<li><strong><em>Use a diferent table in the report. On the Report Menu, click RReport, double.click Custom, and then click Edit.</em></strong></li>
<li><strong><em>Create a new table for the view or report.</em></strong></li>
</ul>
</blockquote>
<p>Hacemos caso del mensaje mostrado y hacemos clic en el menú <em>View | More Views&#8230;</em> Seleccionamos la vista Gantt Chart y hacemos clic en <em>Edit&#8230;</em> de las opciones que muestra, seleccionamos la opción <em>table </em>y buscamos el elemento <em>Entry</em></p>
<div id="attachment_164" class="wp-caption aligncenter" style="width: 375px"><img class="size-full wp-image-164" title="Configuración de Gantt Chart." src="http://esquinadotnet.files.wordpress.com/2009/03/gantt-chart.jpg?w=365&#038;h=259" alt="Seleccionamos la opción Entry en lugar de Entrada" width="365" height="259" /><p class="wp-caption-text">Seleccionamos la opción Entry en lugar de Entrada</p></div>
<p>Aceptamos las veces necesarias y ya podemos visualizar el diagrama de Gantt.</p>
<p>1Saludo</p>
Posted in Project 2007, Tips&amp;Tricks, Troubleshooting Tagged: Project 2007, Tips&amp;Tricks, Troubleshooting <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/esquinadotnet.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/esquinadotnet.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/esquinadotnet.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/esquinadotnet.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/esquinadotnet.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/esquinadotnet.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/esquinadotnet.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/esquinadotnet.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/esquinadotnet.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/esquinadotnet.wordpress.com/161/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=161&subd=esquinadotnet&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://esquinadotnet.wordpress.com/2009/03/17/error-en-el-ms-project-2007-al-visualizar-el-diagrama-de-gantt-solucionado/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6317f7619af72eb8b1d3e343265cc465?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">esquinadotnet</media:title>
		</media:content>

		<media:content url="http://esquinadotnet.files.wordpress.com/2009/03/mensaje-gantt-chart.jpg" medium="image">
			<media:title type="html">Mensaje de Error al visualizar el diagrama de Gantt</media:title>
		</media:content>

		<media:content url="http://esquinadotnet.files.wordpress.com/2009/03/gantt-chart.jpg" medium="image">
			<media:title type="html">Configuración de Gantt Chart.</media:title>
		</media:content>
	</item>
		<item>
		<title>Escritorios Virtuales en Windows</title>
		<link>http://esquinadotnet.wordpress.com/2009/03/03/escritorios-virtuales-en-windows/</link>
		<comments>http://esquinadotnet.wordpress.com/2009/03/03/escritorios-virtuales-en-windows/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 16:45:55 +0000</pubDate>
		<dc:creator>esquinadotnet</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Utilidades]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://esquinadotnet.wordpress.com/?p=154</guid>
		<description><![CDATA[Si tienes la necesidad de tener mas de un escritorio para tener ordenado tus programas: en uno solo el correo, en otro los de desarrollo, o otro mas para diseño, con el fin de no atiborrar la barra de tareas. Una posible solución es virtualizar los escritorios cuando no se puede tener escritorios físicos. Existen [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=154&subd=esquinadotnet&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Si tienes la necesidad de tener mas de un escritorio para tener ordenado tus programas: en uno solo el correo, en otro los de desarrollo, o otro mas para diseño, con el fin de no atiborrar la barra de tareas. Una posible solución es virtualizar los escritorios cuando no se puede tener escritorios físicos. Existen varias herramientas que permiten obtener esa funcionalidad. El que mas he usado es:</p>
<p><strong><a title="Utilidad para Escritorios Virtuales" href="http://dexpot.de/index.php?id=home" target="_blank">Dexpot</a></strong> que hoy va por su versión 1.4 estuvo un tiempo abandonado pero alparecer lo han retomado, es <a title="Gratis mas no Open Source"><em><strong>free</strong></em> </a> (por ahora), algunas de sus caracteristicas son:</p>
<ul>
<li>La posibilidad de configurar el número de escritorios,</li>
<li>Reglas a ventanas,</li>
<li>Opacidad,</li>
<li>Permite la previsualización de las ventanas abiertas,</li>
<li>Se ejecuta en XP y Vista,</li>
<li>Multilenguaje,los archivos se descargan aparte, originalmente en alemán,</li>
<li>Configuracion de los accesos directos para cambiar entre escritorios,</li>
<li>Fondos de pantalla personalizados para cada escritorio.</li>
</ul>
<p>He aqui algunas capturas:</p>
<div id="attachment_155" class="wp-caption aligncenter" style="width: 212px"><img class="size-full wp-image-155" title="desktop-manager" src="http://esquinadotnet.files.wordpress.com/2009/03/desktop-manager.gif?w=202&#038;h=48" alt="Desktop Manager" width="202" height="48" /><p class="wp-caption-text">Desktop Manager</p></div>
<p><span id="more-154"></span></p>
<div id="attachment_156" class="wp-caption aligncenter" style="width: 520px"><img class="size-full wp-image-156" title="dexpose" src="http://esquinadotnet.files.wordpress.com/2009/03/dexpose.gif?w=510&#038;h=408" alt="Catálogo de Ventanas" width="510" height="408" /><p class="wp-caption-text">Catálogo de Ventanas</p></div>
<div id="attachment_157" class="wp-caption aligncenter" style="width: 520px"><img class="size-full wp-image-157" title="full-screen" src="http://esquinadotnet.files.wordpress.com/2009/03/full-screen.gif?w=510&#038;h=408" alt="Vista completa de las Ventanas Abiertas" width="510" height="408" /><p class="wp-caption-text">Vista completa de las Ventanas Abiertas</p></div>
<p>Otra de las herramientas que he encontrado pero que aún no he usado son:</p>
<p><strong><a title="VirtuaWin OpenSource" href="http://virtuawin.sourceforge.net/" target="_blank">VirtuaWin</a></strong>. Alojado en en SourceForge, bajo licencia GNU.</p>
<p><strong><a title="Monitores Virtuales" href="http://technet.microsoft.com/en-us/sysinternals/cc817881.aspx" target="_blank">Desktops</a></strong>. De los chicos de SysInternals ahora propiedad de Microsoft.</p>
Posted in Tools, Utilidades, Windows Tagged: Utilidades, Windows <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/esquinadotnet.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/esquinadotnet.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/esquinadotnet.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/esquinadotnet.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/esquinadotnet.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/esquinadotnet.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/esquinadotnet.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/esquinadotnet.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/esquinadotnet.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/esquinadotnet.wordpress.com/154/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=154&subd=esquinadotnet&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://esquinadotnet.wordpress.com/2009/03/03/escritorios-virtuales-en-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6317f7619af72eb8b1d3e343265cc465?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">esquinadotnet</media:title>
		</media:content>

		<media:content url="http://esquinadotnet.files.wordpress.com/2009/03/desktop-manager.gif" medium="image">
			<media:title type="html">desktop-manager</media:title>
		</media:content>

		<media:content url="http://esquinadotnet.files.wordpress.com/2009/03/dexpose.gif" medium="image">
			<media:title type="html">dexpose</media:title>
		</media:content>

		<media:content url="http://esquinadotnet.files.wordpress.com/2009/03/full-screen.gif" medium="image">
			<media:title type="html">full-screen</media:title>
		</media:content>
	</item>
		<item>
		<title>Imprimir u Obtener la lista de subdirectorios y sus Archivos</title>
		<link>http://esquinadotnet.wordpress.com/2008/12/11/imprimir-u-obtener-la-lista-de-subdirectorios-y-sus-archivos/</link>
		<comments>http://esquinadotnet.wordpress.com/2008/12/11/imprimir-u-obtener-la-lista-de-subdirectorios-y-sus-archivos/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 23:39:34 +0000</pubDate>
		<dc:creator>esquinadotnet</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Tips&Tricks]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://esquinadotnet.wordpress.com/?p=132</guid>
		<description><![CDATA[Si deseas imprimir o exportar a texto la estructura de un directorio, se puede hacer con el comando dir, ese comando de toda la vida. Desde el Explorador de Windows no es posible, al menos no lo localizé. Asi que lo haremos en Modo Bestia, desde línea de comandos.
Veamos el modo en que se puede [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=132&subd=esquinadotnet&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Si deseas imprimir o exportar a texto la estructura de un directorio, se puede hacer con el comando <strong>dir</strong>, ese comando de toda la vida. Desde el Explorador de Windows no es posible, al menos no lo localizé. Asi que lo haremos en <em><strong>Modo Bestia</strong></em>, desde línea de comandos.</p>
<p>Veamos el modo en que se puede realizar.</p>
<pre class="brush: xml;">
dir &quot;C:\Temp&quot; /B /S
</pre>
<p>El parámetro <strong><em>/B</em></strong> indica que no se muestren resúmenes ni encabezados</p>
<p>El parámetro <strong><em>/S</em></strong> indica se recorra todo el arbol de directorios.</p>
<p>Si quieren enviarlo a un archivo de Texto lo hariamos mediante el modificador de flujo <em><strong>&gt;</strong></em>.Como sigue:</p>
<pre class="brush: xml;">
dir &quot;C:\Temp&quot; /B /S &gt; &quot;c:\dirout.txt&quot;
</pre>
<p><span id="more-132"></span>Donde &#8220;c:\dirout.txt&#8221; indica que se envie al archivo localizado en la unidad c:</p>
<p>Otra forma que se puede lograr esto es haciendo uso de la siguiente <strong><a title="DirList" href="http://sites.google.com/site/esquinadotnet/Home/dirlist.rar?attredirects=0" target="_blank">utililería</a></strong>, tambien desde linea de comandos</p>
<pre class="brush: xml;">
dirlist &quot;C:\Temp&quot; -fullpath -nodirparent &gt; &quot;c:\dirout.txt&quot;
</pre>
<p>DirList: Muestra de manera recursiva los  archivos<br />
que contiene un directorio.</p>
<p>DIRLIST [unidad:][ruta] [-h] [-fullpath] [-nodirparent]<br />
[unidad:][ruta]<br />
Especifica la unidad y el directorio que se mostrará.<br />
<strong>-h -help</strong> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;Muestra ésta ayuda.<br />
<strong>-fullpath</strong> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;Muestra la ruta completa.<br />
<strong>-nodirparent</strong> &nbsp;&nbsp;&nbsp;&gt;&gt;No muestra el directorio padre, sólo los archivos que contiene, si no tiene archivos no se muestra la carpeta.</p>
<p>Lo pueden bajar desde <strong><a title="DirList" href="http://sites.google.com/site/esquinadotnet/Home/dirlist.rar?attredirects=0" target="_blank">aqui</a></strong>, requiere el .NET Framework 2.0.</p>
<p>Tiene un ligero bug, creo que es del .NET si le pones como parámetro un directorio que termina con \ se malinterpreta como \&#8221;.</p>
Posted in General, Tips&amp;Tricks, Tools, Windows Tagged: Tips&amp;Tricks, Tools, Windows <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/esquinadotnet.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/esquinadotnet.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/esquinadotnet.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/esquinadotnet.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/esquinadotnet.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/esquinadotnet.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/esquinadotnet.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/esquinadotnet.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/esquinadotnet.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/esquinadotnet.wordpress.com/132/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=132&subd=esquinadotnet&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://esquinadotnet.wordpress.com/2008/12/11/imprimir-u-obtener-la-lista-de-subdirectorios-y-sus-archivos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6317f7619af72eb8b1d3e343265cc465?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">esquinadotnet</media:title>
		</media:content>
	</item>
		<item>
		<title>Funciones IsNumeric e IsDecimal en JavaScript</title>
		<link>http://esquinadotnet.wordpress.com/2008/12/01/funciones-isnumeric-e-isdecimal-en-javascript/</link>
		<comments>http://esquinadotnet.wordpress.com/2008/12/01/funciones-isnumeric-e-isdecimal-en-javascript/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 21:51:47 +0000</pubDate>
		<dc:creator>esquinadotnet</dc:creator>
				<category><![CDATA[Expresiones Regulares]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://esquinadotnet.wordpress.com/?p=129</guid>
		<description><![CDATA[Me topé con la necesidad de usar las funciones IsNumeric e IsDecimal en JavaScript, pero no existen tales, sin embargo es posible crearlos de manera sencilla mediante expresiones regulares, veamos como quedarían.
Para detectar si un conjunto de caracteres (entiéndase una cadena) es un número entero, usamos la siguiente función:
function IsNumeric(expression)
{
	return (String(expression).search(/^\d+$/) != -1);
}
Para saber si [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=129&subd=esquinadotnet&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Me topé con la necesidad de usar las funciones IsNumeric e IsDecimal en JavaScript, pero no existen tales, sin embargo es posible crearlos de manera sencilla mediante expresiones regulares, veamos como quedarían.</p>
<p>Para detectar si un conjunto de caracteres (entiéndase una cadena) es un número entero, usamos la siguiente función:</p>
<pre class="brush: jscript;">function IsNumeric(expression)
{
	return (String(expression).search(/^\d+$/) != -1);
}</pre>
<p>Para saber si la cadena pasada como parámetro es un número con decimales, usando como separador de decimales el punto <strong>.</strong> hacemos uso de esta otra función.</p>
<pre class="brush: jscript;">function IsDecimal(expression)
{
	return (String(expression).search(/^\d+(\.\d+)?$/) != -1);
}</pre>
<p>Usarlos es tan simple como llamar a esas funciones y evaluar el valor devuelto.</p>
Posted in Expresiones Regulares, JavaScript Tagged: Expresiones Regulares, JavaScript <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/esquinadotnet.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/esquinadotnet.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/esquinadotnet.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/esquinadotnet.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/esquinadotnet.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/esquinadotnet.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/esquinadotnet.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/esquinadotnet.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/esquinadotnet.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/esquinadotnet.wordpress.com/129/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=129&subd=esquinadotnet&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://esquinadotnet.wordpress.com/2008/12/01/funciones-isnumeric-e-isdecimal-en-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6317f7619af72eb8b1d3e343265cc465?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">esquinadotnet</media:title>
		</media:content>
	</item>
		<item>
		<title>Obtener el número de registros de una tabla sin hacer select count(*)</title>
		<link>http://esquinadotnet.wordpress.com/2008/10/16/obtener-el-numero-de-registros-de-una-tabla-sin-hacer-select-count/</link>
		<comments>http://esquinadotnet.wordpress.com/2008/10/16/obtener-el-numero-de-registros-de-una-tabla-sin-hacer-select-count/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 21:02:09 +0000</pubDate>
		<dc:creator>esquinadotnet</dc:creator>
				<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://esquinadotnet.wordpress.com/?p=116</guid>
		<description><![CDATA[Una forma de obtener el numero de registros de una tabla en SQLServer aparte del clásico:

SELECT COUNT(*)
  FROM NombreTabla

es consultando la tabla del systema sysindexes del siguiente modo:  

SELECT rows
  FROM sysindexes
  WHERE id = OBJECT_ID('NombreTabla') AND indid &#60; 2

La ventaja de ésta forma es que se evita que se recorra [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=116&subd=esquinadotnet&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Una forma de obtener el numero de registros de una tabla en SQLServer aparte del clásico:</p>
<p>
<pre class="brush: sql;">SELECT COUNT(*)
  FROM NombreTabla</pre>
</p>
<p>es consultando la tabla del systema <strong><em>sysindexes</em></strong> del siguiente modo:  </p>
<p>
<pre class="brush: sql;">SELECT rows
  FROM sysindexes
  WHERE id = OBJECT_ID('NombreTabla') AND indid &lt; 2</pre>
</p>
<p>La ventaja de ésta forma es que se evita que se recorra la tabla o algún índice para obtener el número exacto de registros, esto es útil en tablas con millones de registros, al hacerlo de la primera forma se lleva tiempo en devolver el resultado, afectando el desempeño.  </p>
<p><strong>Nota</strong>: Esto es útil cuando no se requiere saber el número exacto de registros de una tabla, sin embargo, es necesario tener activado la opcion de <a href="http://www.sql-server-performance.com/tips/optimizing_indexes_general_p1.aspx"><strong>creación automática de estad&iacute;sticas</strong></a> en la Base de datos. </p>
Posted in SQL Server Tagged: SQL Server <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/esquinadotnet.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/esquinadotnet.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/esquinadotnet.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/esquinadotnet.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/esquinadotnet.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/esquinadotnet.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/esquinadotnet.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/esquinadotnet.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/esquinadotnet.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/esquinadotnet.wordpress.com/116/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=116&subd=esquinadotnet&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://esquinadotnet.wordpress.com/2008/10/16/obtener-el-numero-de-registros-de-una-tabla-sin-hacer-select-count/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6317f7619af72eb8b1d3e343265cc465?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">esquinadotnet</media:title>
		</media:content>
	</item>
		<item>
		<title>Propiedad State de un RecordSet</title>
		<link>http://esquinadotnet.wordpress.com/2008/10/09/propiedad-state-de-un-recordset/</link>
		<comments>http://esquinadotnet.wordpress.com/2008/10/09/propiedad-state-de-un-recordset/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 23:18:24 +0000</pubDate>
		<dc:creator>esquinadotnet</dc:creator>
				<category><![CDATA[ASP Classic]]></category>
		<category><![CDATA[ADO]]></category>
		<category><![CDATA[ASP 3.0]]></category>

		<guid isPermaLink="false">http://esquinadotnet.wordpress.com/?p=77</guid>
		<description><![CDATA[Si necesitamos saber si un RecordSet esta abierto o cerrado en las aplicaciones hechas en ASP clásico (3.0), haremos uso de la propiedad State que retorna un valor que describe si el objeto esta abierto, cerrado, conectando, ejecutando la consulta u obteniendo datos El valor devuelto es un ObjectStateEnum, cuyo posibles valores son los siguientes:
Constantes [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=77&subd=esquinadotnet&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Si necesitamos saber si un RecordSet esta abierto o cerrado en las aplicaciones hechas en ASP clásico (3.0), haremos uso de la propiedad State que retorna un valor que describe si el objeto esta abierto, cerrado, conectando, ejecutando la consulta u obteniendo datos El valor devuelto es un <strong><a href="http://msdn.microsoft.com/en-us/library/ms675546(VS.85).aspx">ObjectStateEnum</a></strong>, cuyo posibles valores son los siguientes:</p>
<p><strong>Constantes del ObjectStateEnum </strong></p>
<table border="0" cellspacing="0" cellpadding="1">
<tbody>
<tr bgcolor="#000000">
<td width="150"><span style="color:#ffc000;"><strong>Constante</strong></span></td>
<td width="60"><span style="color:#ffc000;"><strong>Valor</strong></span></td>
<td width="280"><span style="color:#ffc000;"><strong>Descripción</strong></span></td>
</tr>
<tr bgcolor="#fde9d9">
<td><strong>adStateClosed</strong></td>
<td>0</td>
<td>El Objeto está cerrado</td>
</tr>
<tr bgcolor="#fabf8f">
<td><strong>adStateOpen</strong></td>
<td>1</td>
<td>El Objeto está Abierto</td>
</tr>
<tr bgcolor="#fde9d9">
<td><strong>adStateConnecting</strong></td>
<td>2</td>
<td>El Objeto está Conectando</td>
</tr>
<tr bgcolor="#fabf8f">
<td><strong>adStateExecuting</strong></td>
<td>4</td>
<td>El Objeto está Ejecutando</td>
</tr>
<tr bgcolor="#fde9d9">
<td><strong>adStateFetching</strong></td>
<td>8</td>
<td>El Objeto está Obteniendo los datos</td>
</tr>
</tbody>
</table>
<p>Esta propiedad puede ser usada con los objetos <strong>Command</strong>, <strong> Connection</strong>, <strong> Record</strong>, <strong> Recordset</strong> y <strong>Stream</strong>. Con la sintaxis:</p>
<p><strong>Object.State</strong></p>
<p>Lo siguiente es un ejemplo de como usarlo</p>
<pre class="brush: vb;">IF rsClear.State &lt;&gt; 0 THEN 'Si no esta cerrado
   rsClear.CLOSE
   Set rsClear = Nothing 'Liberar Recursos
END IF</pre>
Posted in ASP Classic Tagged: ADO, ASP 3.0, ASP Classic <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/esquinadotnet.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/esquinadotnet.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/esquinadotnet.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/esquinadotnet.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/esquinadotnet.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/esquinadotnet.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/esquinadotnet.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/esquinadotnet.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/esquinadotnet.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/esquinadotnet.wordpress.com/77/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=77&subd=esquinadotnet&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://esquinadotnet.wordpress.com/2008/10/09/propiedad-state-de-un-recordset/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6317f7619af72eb8b1d3e343265cc465?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">esquinadotnet</media:title>
		</media:content>
	</item>
		<item>
		<title>Exportando directamente  un informe desde Report Services</title>
		<link>http://esquinadotnet.wordpress.com/2008/08/12/exportando-directamente-un-informe-desde-report-services/</link>
		<comments>http://esquinadotnet.wordpress.com/2008/08/12/exportando-directamente-un-informe-desde-report-services/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 21:40:14 +0000</pubDate>
		<dc:creator>esquinadotnet</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Reporting Services]]></category>

		<guid isPermaLink="false">http://esquinadotnet.wordpress.com/?p=66</guid>
		<description><![CDATA[Buscando la manera de exportar directamente un informe en Report Services 2005, desde código (evitando su visualización), me encuentro con la página de Fran Diaz que hace un tutorial de como implementarlo desde un WinFom haciendo uso del WebService del SQL Server Reporting Services 2005.
Requeria implementarlo desde una WebForm, y he aquí que me encuentro [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=66&subd=esquinadotnet&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Buscando la manera de exportar directamente un informe en Report Services 2005, desde código (evitando su visualización), me encuentro con <strong><a href="http://geeks.ms/blogs/fdiaz/archive/2006/10/17/Exportando-un-informe-desde-Reporting-Services.aspx">la página de Fran Diaz</a></strong> que hace un tutorial de como implementarlo desde un WinFom haciendo uso del WebService del SQL Server Reporting Services 2005.</p>
<p>Requeria implementarlo desde una WebForm, y he aquí que me encuentro con una serie de detalles para hacerlo funcionar correctamente. Tengo un Servidor de Informes y un servidor de paginas web, ambas en maquinas diferentes.</p>
<p>El primer error fue implementar los permisos, necesitaba autentificarme correctamente, para eso tuve que crear/modificar &#8211;de alguna parte lo habré sacado, solo que no recuerdo de que página, si el autor aparece, favor de notificarmelo, para los créditos correspondientes&#8211;, como decía, hubo que implementar una clase para este fin (<em>ReportServerCredentials</em>) para resolver este problemilla.</p>
<p><span id="more-66"></span></p>
<pre class="brush: csharp;">using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Reporting.WebForms;
using System.Security.Principal;
using System.Net;
using System.Collections;
using System.Collections.Generic;

namespace UtileriasReportServices
{
    /// &lt;summary&gt;
    /// Local implementation of IReportServerCredentials
    /// &lt;/summary&gt;
    public class ReportServerCredentials : IReportServerCredentials
    {
        private string _userName;
        private string _password;
        private string _domain;

        public ReportServerCredentials(string userName, string password, string domain)
        {
            _userName = userName;
            _password = password;
            _domain = domain;
        }

        public WindowsIdentity ImpersonationUser
        {
            get
            {
                // Use default identity.
                return null;
            }
        }

        public ICredentials NetworkCredentials
        {
            get
            {
                // Use default identity.
                return new NetworkCredential(_userName, _password, _domain);
            }
        }

        public bool GetFormsCredentials(out Cookie authCookie, out string user, out string password, out string authority)
        {
            // Do not use forms credentials to authenticate.
            authCookie = null;
            user = password = authority = null;
            return false;
        }
    }
}</pre>
<p>Con lo segundo que me topé, fue con los parámetros, me dio flojera implementarlo directamente como un arreglo de ParameterValue para el Report Services, así que como ya tenia el arreglo de parámetros solo lo convertí al array adecuado para la ocasión.</p>
<p>Y el último obstaculo era el error del identificador de sesión</p>
<blockquote><p>Server Error in &#8216;/Nombre_Aplicacion&#8217; Application.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Falta el identificador de la sesión. Es necesario un identificador de sesión para esta operación.  &#8212;&gt; Falta el identificador de la sesión. Es necesario un identificador de sesión para esta operación.<br />
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.</p>
<p>Exception Details: System.Web.Services.Protocols.SoapException: Falta el identificador de la sesión. Es necesario un identificador de sesión para esta operación.  &#8212;&gt; Falta el identificador de la sesión. Es necesario un identificador de sesión para esta operación.</p>
<p>Source Error:</p>
<p>An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.</p></blockquote>
<p>Buscando me encontré con que primero se hace un <em>LoadReport</em> del  reporte y despues se establecen los parámetros, oops! un pequeño detalle pasado por alto.</p>
<p>Al final, para la exportacion quedó como sigue:</p>
<pre class="brush: csharp;">protected void BExportReport_Click(object sender, EventArgs e)
    {
        parametros.Clear();

        //agregar parametros
        parametros.Add(new ReportParameter(&quot;Param1&quot;, &quot;valor&quot;));

        // variable que contendrá el formato.
        string formato = &quot;CSV&quot;; //exportar a csv
        string history = null;

        // Creo una instancia del Servicio web de ejecución.
        RSExecution.ReportExecutionService RSG = new RSExecution.ReportExecutionService();
        // Asigno las credenciales.
        RSGuardar.Credentials = new ReportServerCredentials(
                                                            WebConfiguration.GetKeyFromWebConfig(&quot;UserId&quot;),
                                                            WebConfiguration.GetKeyFromWebConfig(&quot;PwdId&quot;),
                                                            WebConfiguration.GetKeyFromWebConfig(&quot;Server&quot;)).NetworkCredentials;

        RSExecution.ExecutionInfo execInfo = new RSExecution.ExecutionInfo();
        RSExecution.ExecutionHeader execHeader = new RSExecution.ExecutionHeader();

        RSG.ExecutionHeaderValue = execHeader;

        execInfo = RSGuardar.LoadReport(reporte, history);
        // Convertimos los parámetros
        RSExecutionSiniestros.ParameterValue[] parametrosrs = ConvertirReportParameterToParameterValue(parametros);
        RSG.SetExecutionParameters(parametrosrs, &quot;es-mx&quot;);

        string deviceInfo = String.Empty;
        string Extension = formato;
        Byte[] Resultados = null;
        string Codificacion = String.Empty;
        string mimeType = String.Empty;
        RSExecutionSiniestros.Warning[] warnings = null;
        string[] streamsIDs = null;

        // Paso los resultados de renderizar a un conjunto de bytes.
        Resultados = RSG.Render(formato, deviceInfo, out Extension, out Codificacion, out mimeType, out warnings, out streamsIDs);
        // Escribo el conjunto de bytes en un archivo con su extensión.
        Response.ContentType = &quot;application/octet-stream&quot;;
        Response.AppendHeader(&quot;Content-Disposition&quot;, &quot;attachment;filename=&quot; + &quot;Nombre_Archivo.csv&quot;);
        Response.OutputStream.Write(Resultados, 0, Resultados.Length);
        Response.End();
    }</pre>
<p>Aqui encontrarán mas información en <strong><a href="http://weblogs.asp.net/srkirkland/archive/2007/10/29/exporting-a-sql-server-reporting-services-2005-report-directly-to-pdf-or-excel.aspx">el blog de Scott</a></strong> de como implementar la exportacion, y que junto con <strong><a href="http://geeks.ms/blogs/fdiaz/archive/2006/10/17/Exportando-un-informe-desde-Reporting-Services.aspx">la página de Fran Diaz</a></strong>, me ayudo a completar la tarea.</p>
<p>1Saludo</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/esquinadotnet.wordpress.com/66/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/esquinadotnet.wordpress.com/66/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/esquinadotnet.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/esquinadotnet.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/esquinadotnet.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/esquinadotnet.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/esquinadotnet.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/esquinadotnet.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/esquinadotnet.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/esquinadotnet.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/esquinadotnet.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/esquinadotnet.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=esquinadotnet.wordpress.com&blog=3570639&post=66&subd=esquinadotnet&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://esquinadotnet.wordpress.com/2008/08/12/exportando-directamente-un-informe-desde-report-services/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6317f7619af72eb8b1d3e343265cc465?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">esquinadotnet</media:title>
		</media:content>
	</item>
	</channel>
</rss>