En ocasiones se necesita hacer un copiado de información de un TextBox a otro en ASP .NET, pero sin necesidad de que se haga un llamado al servidor (AutPost), por ejemplo, tuve la necesidad de hacer una operación entre 2 textbox y mostrarlo en otro que estuviera deshabilitado, entonces buscando un poco encontré esto y lo ajusté a mi proyecto.

Tu aspx debe de contener los 3 Textbox

<asp:TextBox ID=”txtSacos” runat=”server” onkeyup=”Operacion();”></asp:TextBox>

<asp:TextBox ID=”txtBolsas” runat=”server” onkeyup=”Operacion();”></asp:TextBox>

<asp:TextBox ID=”txtResultado” runat=”server”></asp:TextBox>

y en la cabecera el código JavaScript

<head>

<title></title>

<script type=”text/javascript”>

function Operacion() {

var sacos = document.getElementById(‘<%= txtSacos.ClientID %>’).value;

var bolsas = document.getElementById(‘<%= txtBolsas.ClientID %>’).value;

if (sacos != && bolsas != )

document.getElementById(‘<%= txtResultado.ClientID %>’).value = bolsas + sacos;

}

</script>

</head>

Y eso es todo

Espero sea de ayuda

saludos

Se me presentó un problema al momento de importar un SSIS en SQL 2008, la verdad no sabía a que se debía dado que en mi equipo funcionaba perfectamente pero al instalarlo en un servidor no funcionó el Import SSIS.

El error mostrado era el siguiente

Catastrophic failure

Catastrophic failure

Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED)) (Microsoft.SqlServer.DTSRuntimeWrap)

Continue reading

Una práctica no recomendable pero a veces necesaria es la de eliminar todos los stored procedures de nuestra base de datos,  navegando por ahí encontré varias opciones pero esta es la que me pareció más adecuada.

DECLARE @procName VARCHAR(500)

DECLARE cur CURSOR

FOR SELECT [name] FROM sys.objects WHERE TYPE = ‘p’
OPEN cur
FETCH NEXT FROM cur INTO @procName
WHILE @@fetch_status = 0
BEGIN
EXEC(‘drop procedure ‘ + @procName)
FETCH NEXT FROM cur INTO @procName
END
CLOSE cur
DEALLOCATE cur

Espero les sea de utilidad

saludos

p.d. el artículo original está aquí

Resulta que por enésima ocasión tuve la necesidad de pasar un string de caracteres como parámetro de un SP de la forma: “3,4,14,29,53,98” donde cada número separado por la coma lo necesito utilizar dentro de un Query como parte de un IN, p.e. Select * from tabla where identificador IN (3,4,14,29,53,98), pero estos valores los recibo como un string, entonces fue cuando entra la duda de como poder hacer ese query con los valores que vienen en una cadena, es decir, como quitarle las “” y utilizar el valor.

Después de navegar un rato por la red encontré un método sencillo, donde se va recorriendo el valor de la cadena y se va metiendo cada valor encontrado en una tabla temporal y posteriormente utilizas una consulta del tipo: Select * from tabla Where identificador IN (Select campotmp from #tablatmp) y eso es todo.

He aquí el ejemplo:

Continue reading

Para obtener el primer día del mes anterior a través de un query debemos escribir

SELECT CONVERT(VARCHAR(10),LTRIM(RTRIM(STR(DATEPART(YYYY,DATEADD(MM,-1,GETDATE()))))) + ‘-‘ +RIGHT(REPLICATE(‘0’,1)+LTRIM(RTRIM(STR(DATEPART(MM,DATEADD(MM,-1,GETDATE()))))),2) + ‘-‘ +’01’)

o de una manera aún más sencilla

SELECT DATEADD(month, DATEDIFF(month, 0, DATEADD(month, -1,GETDATE())), 0)

Saludos

En ocasiones es necesario hacer un cambio de nombre de la base de datos que estamos utilizando en SQL 2005 o 2008, para ello, es probable que les mande un error al momento de intentar hacerlo directamente con el clic derecho.

Por esto, les mando un script para realizarlo de manera efectiva y sin complicaciones

ALTER DATABASE dboldname SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
SP_RENAMEDB dboldname, dbnewname
GO
ALTER DATABASE dbnewname SET MULTI_USER
GO

y eso es todo…

Espero haya sido de utilidad

saludos

Quiero mostrarles unos sencillos pasos para migrar una base de datos de SQL 2000 a SQL 2008, lo publico debido a que siguiendo los pasos comunes no funciona, pero siguiendo estos si me funcionó, así­ que espero sea de ayuda.

Primero hay que hacer un backup de la base de datos a migrar:

— Abrir el Query Analizer de SQL 2000
— Abrir una ventana para un nuevo query sobre la base de datos a migrar y escribir lo siguiente

BACKUP DATABASE dbdummy TO DISK = ‘c:\dbdummybackup.bak’

— dbdummy es el nombre de mi base de datos, ahí deben escribir el que ustedes ocupen
— Ejecutar ese query y esperar a que termine.
— Una vez ejecutado el proceso, corroborar en la ruta donde se indicó, que exista el archivo (c:\dbdummybackup.bak)

— Después, abrir el SQL Server Management Studio 2008
— Abrir una ventana para un nuevo query sobre la base de datos master y escribir lo siguiente

RESTORE FILELISTONLY FROM DISK = ‘c:\dbdummybackup.bak’
GO

— Ejecutar ese query y esperar a que termine.
— Aparecerá una tabla de resultados en la cual debemos anotar los nombres que vienen en el campo LOGICALNAME
— Ahora ejecutaremos otro query, deberemos escribir

RESTORE DATABASE dbdummy2008  — nombre de la nueva base de datos
FROM DISK = ‘c:\dbdummybackup.bak’
WITH
MOVE ‘dbdummy_data’ TO ‘c:\Bd2008\dbdummy2008.mdf’,
— lo primero es el nombre que obtuvimos del query anterior del MDF y la ruta donde se almacenará
MOVE ‘dbdummy_log’ TO ‘c:\Bd2008\dbdummy2008.ldf’
— lo primero es el nombre que obtuvimos del query anterior del LOG y la ruta donde se almacenará
GO

— Ejecutar el query y esperar a que termine

Espero haya sido de ayuda

saludos

En ocasiones es necesario hacer uso del paso de parametros cuando queremos hacer una consulta en Integration Services de SQL, después de googlear un poco encontré este método que es muy sencillo.

Primero debemos de tener nuestras variables que serán los parámetros (p.e. VarNumero) y además  se debe declarar una variable que sera nuestro query y tendrá nuestro parámetro (p.e. VarQuery),  esta variable debe ser de tipo String, en ella se debe de poner el valor de TRUE en la propiedad EvaluateasExpression, y dentro de Expression debemos de poner nuestro query de la siguiente manera
“Select * from Tabla where campox >= ” +  (DT_WSTR, 10) @[User::VarNumero]

Ya dentro de nuestro Data Flow Task, en la propiedad Expressions, debemos de seleccionar la primera opción que dice SQLCommand y en el valor debemos de poner @Varquery.

De esta manera el query obtiene el valor de la variable que se tendra como parámetro.

Saludos

Como por tercera vez me he topado con la necesidad de comparar 2 tablas identicas que se encuentran ya sea en servidores diferentes, o simplemente es para comparar que registros sufrieron cambios en un periodo de tiempo.

Y como por tercera vez tuve que preguntarle a la misma persona jaja  y para ya no volverle a preguntar mejor lo escribo aquí.

si en algún momento necesitan comparar 2 tablas IDENTICAS (misma cantidad de campos) aquí les va el query que necesitan hacer

Continue reading