lunes, 14 de abril de 2014
que tablas tienen mas registros TSQL
Muchas Veces al tratar de administrar una BD nos topamos con el problema de saber que tablas dentro de nuestra base tienen mas registros y cuales son objetivo de depuracion, para poder hacer esta consulta al mismo motor de la base de datos, nos colocamos en la base que queremos analizar y utulizamos el siguiente codigo:
select top 10 name,row_count(db_id(), id)
from sysobjects
order by row_count(db_id(),id) desc
este codigo es util para sybase, en sql server tiene sus modificaciones con el comando sp_helpdb o sp_spaceused
jueves, 3 de abril de 2014
Certificacion en C#
He tenido abandonado este blog por casi 2 años, fueron dos años bastante dificiles pero estoy de vuelta con un aporte que me parece bastante bueno.
Muchos de nosotros como desarrolladores en algun momento decidimos certificarnos con Microsoft pero nos arrepentimos al conocer el precio de la certificacion, actualmente estan en un precio muy accessible para C#
lo pueden visitar aqui
La pagina incluso da opciones para el entrenamiento y una simulacion del examen, asi que solo faltan las ganas y juntar dinero en unas dos o 3 quincenas.
lunes, 23 de abril de 2012
Excel desde HTML
Excel's Web query technology adds some custom table data cell (TD) attributes that can enhance the spreadsheet. One of these attributes is Filter. Placing Filter inside a causes drop-down filters to appear in the column headers of the spreadsheet. Let's place a FILTER=ALL inside the tags in the column header:
ProductID
Product Name
Sales Person
Date Closed
Sale Amount
You would now be able to filter down the results by using drop downs. For instance, you could drop down the Sales Person filter and view the results for a specific sales person. The filtering is all client side (inside Excel) and the results are instantaneous. Excel simply hides the rows that don't meet the filter criteria.
Another custom attribute that can be added to the HTML table is Formula. When Formula is used inside a , any Excel formula can be used inside the cell. An example would be for summary cells, where you want to show averages and the like:
Again, this can modified using ASP scripting. If you are tracking the number of rows you are writing to the HTML table, you can dynamically write Excel formulas:
The majority of styles used in Microsoft Internet Explorer's (IE's) cascading style sheet (CSS) will be converted properly by Excel. However, pay special attention to the number format. By default, Excel imports all data into the General format. If you need a specific, precise Excel number format, you need to add a style attribute on the ASP side. This style attribute takes the form of vnd.ms-excel.numberformat:xxx. To ensure that a cell uses a precision of 2, your tag would look like the following:
><%= rsSales ("SalesAmount")%>
For more detailed information on these HTML extensions, please consult the Connectivity Kit.
Once the data is resting safely in Excel, there are an infinite amount of possibilities for further data manipulation. You can link the cells from the resulting HTML into other worksheets, workbooks, Word documents, and charts. For a good example of this, experiment with Pcquote.xls, which comes with the Connectivity Kit.
Excel even integrates with the IE security model, and will display an authentication dialog for ASPs protected by IIS. Just like IE, Excel will cache the user name and password until that instance of Excel is shut down.
Excel 2000 has added some new wrinkles to Web queries. The basic premise is the same, but 2000 makes it easier and faster to customize a Web query. Once developers learn the Excel 97 version, they will really come to appreciate these changes in Excel 2000.
Microsoft has made a strong case for simple, Web-based Excel reporting solutions. The real value comes from ASP and the use of dynamic variables. This type of solution frees up the business analyst from time-consuming data manipulation and takes away a degree of human error. And, best of all, the implementation of Web queries is most assuredly rapid development.
jueves, 8 de marzo de 2012
conocer ddl en bash y sybase
#comando para visualizar el lenguaje de definicion de datos de un objeto
ddlgen -Usa -SSYBDEVGA01 -Ddoldath -TXP -Ndbo.sp_purge
donde -U es el usuario
-S servidor
-D base
-T tipo de objeto (base, stored)
-N el objeto a analizar
ddlgen -Usa -SSYBDEVGA01 -Ddoldath -TXP -Ndbo.sp_purge
donde -U es el usuario
-S servidor
-D base
-T tipo de objeto (base, stored)
-N el objeto a analizar
viernes, 24 de febrero de 2012
miércoles, 22 de febrero de 2012
actualizacion de campo en segunda tabla con trigger
alter TRIGGER updateAprobadas
ON pantallas
AFTER insert
AS
BEGIN
SET NOCOUNT ON;
update aprobadas set id_pantalla = INSERTED.id_pantalla from inserted
where aprobadas.contrato = INSERTED.contrato
and aprobadas.id_mesayo = INSERTED.id_mesayo
and aprobadas.dia=INSERTED.dia
End
GO
ON pantallas
AFTER insert
AS
BEGIN
SET NOCOUNT ON;
update aprobadas set id_pantalla = INSERTED.id_pantalla from inserted
where aprobadas.contrato = INSERTED.contrato
and aprobadas.id_mesayo = INSERTED.id_mesayo
and aprobadas.dia=INSERTED.dia
End
GO
martes, 7 de febrero de 2012
administracion de sql server
--espacio disponible en discos duros
EXEC master..xp_fixeddrives
--fechas desde la ultamia creacion de respaldo de bases de datos
SELECT B.name as Database_Name, ISNULL(STR(ABS(DATEDIFF(day, GetDate(),
MAX(Backup_finish_date)))), 'NUNCA') as DaysSinceLastBackup,
ISNULL(Convert(char(10), MAX(backup_finish_date), 101), 'NUNCA') as LastBackupDate
FROM master.dbo.sysdatabases B LEFT OUTER JOIN msdb.dbo.backupset A
ON A.database_name = B.name AND A.type = 'D' GROUP BY B.Name ORDER BY B.name
--tamaño de bases de datos
--exec sp_helpdb 'captura'
use captura exec sp_spaceused
--use master exec sp_helptext 'sp_spaceused'
EXEC master..xp_fixeddrives
--fechas desde la ultamia creacion de respaldo de bases de datos
SELECT B.name as Database_Name, ISNULL(STR(ABS(DATEDIFF(day, GetDate(),
MAX(Backup_finish_date)))), 'NUNCA') as DaysSinceLastBackup,
ISNULL(Convert(char(10), MAX(backup_finish_date), 101), 'NUNCA') as LastBackupDate
FROM master.dbo.sysdatabases B LEFT OUTER JOIN msdb.dbo.backupset A
ON A.database_name = B.name AND A.type = 'D' GROUP BY B.Name ORDER BY B.name
--tamaño de bases de datos
--exec sp_helpdb 'captura'
use captura exec sp_spaceused
--use master exec sp_helptext 'sp_spaceused'
viernes, 3 de febrero de 2012
viernes, 20 de enero de 2012
habilitar full-text index con tsql
-- Verificamos que se posea el servicio Full_Text Engine
use master
SELECT fulltextserviceproperty('isfulltextinstalled')
-- Consulta si la base de datos tiene instalado el servicio Full_Text
use master
SELECT DATABASEPROPERTY('baseDeDatos', 'IsFullTextEnabled');
-- Si no lo tiene, lo instalamos
use baseDeDatos
EXEC sp_fulltext_database 'ENABLE'
use master
SELECT fulltextserviceproperty('isfulltextinstalled')
-- Consulta si la base de datos tiene instalado el servicio Full_Text
use master
SELECT DATABASEPROPERTY('baseDeDatos', 'IsFullTextEnabled');
-- Si no lo tiene, lo instalamos
use baseDeDatos
EXEC sp_fulltext_database 'ENABLE'
martes, 6 de diciembre de 2011
Cambiar DHCP a IP manual en UBUNTU
Se escribe en la terminal el comando:
sudo nano -w /etc/network/interfaces
Nos pedira la contraseña de nuestro usuario para confirmar, la ponemos y le damos a intro.
Y tenemos que cambiar lo que tenemos por esto:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
sudo nano -w /etc/network/interfaces
Nos pedira la contraseña de nuestro usuario para confirmar, la ponemos y le damos a intro.
Y tenemos que cambiar lo que tenemos por esto:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
viernes, 2 de diciembre de 2011
Cubo de escritorio en Ubuntu 10.11
No funciona con 4 escritorios pero al menos no se pierde el unity
http://chicomonte.blogspot.com/2011/11/como-activar-el-cubo-3d-en-ubuntu-1110.html
http://chicomonte.blogspot.com/2011/11/como-activar-el-cubo-3d-en-ubuntu-1110.html
lunes, 31 de octubre de 2011
Restablecer Permisos de instalacion de la carpeta de sistema Windows
Para
restablecer la configuración de seguridad predeterminada de la instalación
original del sistema operativo, siga estos pasos:
Ejecutar como administrador local desde la linea de comandos:
Windows 2003 Server
secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /verbose
En Windows 2008 Server
secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
Recibirá el mensaje "Se ha completado la tarea" y un mensaje de
advertencia indicando que algo no se ha podido realizar. Puede pasar por
alto este mensaje de forma segura. Para obtener más información acerca
de este mensaje, consulte el archivo
%windir%\Security\Logs\Scesrv.log.
restablecer la configuración de seguridad predeterminada de la instalación
original del sistema operativo, siga estos pasos:
Ejecutar como administrador local desde la linea de comandos:
Windows 2003 Server
secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /verbose
En Windows 2008 Server
secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
Recibirá el mensaje "Se ha completado la tarea" y un mensaje de
advertencia indicando que algo no se ha podido realizar. Puede pasar por
alto este mensaje de forma segura. Para obtener más información acerca
de este mensaje, consulte el archivo
%windir%\Security\Logs\Scesrv.log.
miércoles, 19 de octubre de 2011
Actualizaciones que validan la licencia de windows 7
Actualizaciones KB976902, KB2533552 y KB971033
Estas y el resto de las actualizaciones del sistema operativo se encuentran en la siguiente ruta:
C:\Windows\servicing\Packages
Estas y el resto de las actualizaciones del sistema operativo se encuentran en la siguiente ruta:
C:\Windows\servicing\Packages
miércoles, 5 de octubre de 2011
Crear un servicio desde un programa
Lo primero que debemos hacer es descargar e instalar el Resource Kit Tools para Windows Server 2003, aunque esto también es aplicable y se puede instalar en XP.
Dentro de todas las utilidades ahora instaladas, estan: instsrv.exe y srvany.exe, que son las que vamos a usar para convertir un programa en servicio de Windows.
El siguiente paso es registrar el programa con un servicio válido, esto se hace con los siguientes comandos:
instsrv.exe srvany.exe
o bien
ruta\INSTSRV.EXE [mi servicio] ruta\SRVANY.EXE
Para no tener problemas en donde dice ruta pongan la ruta del directorio en el que estan los archivos junto con la letra asignada a la unidad. [mi servicio] es el nombre del servicio que deseamos correr. Puede ser cualquier nombre pero es recomendable que sea descriptivo. Si todo salio bien nos mostrara un mensaje diciéndonos que el servicio fue agregar satisfactoriamente.
Para asegurarnos que fue así debemos revisar el Registro de Windows, para realizar esto abriremos el Editor de Registro (Inicio –> Ejecutar –> regedit) y nos posicionaremos en la siguiente clave:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[mi servicio]
Si podemos ubicar el servicio creado anteriormente es porque todo salio bien.
3- Ahora seleccionaremos nuestro servicio, luego nos dirigimos al menú Edición –> Nuevo –> Clave, el nombre que le pondremos es “Parameters”. Seleccionaremos la clave “Parameters” y nos dirigimos nuevamente al menú Edición –> Nuevo –> Valor alfanumérico y le ponemos el nombre “Application”, veremos que se agrega este valor lo seleccionamos y hacemos clic con el botón derecho y seleccionamos “Modificar” y en “Información del valor” pondremos la ruta completa de la aplicación con la extensión.
ejemplo: C:\Archivos de programa\aplicacion\miaplicacion.exe
De ésta manera el programa ya está registrado como servicio, y aparecerá en la lista de servicios (services.msc) ahora solo debemos configurar unas ramas del registro:
* HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
* Cambiamos el valor de “ImagePath” por la ruta a srvany.exe (si instalamos el RK por defecto, C:\Archivos de programa\Windows Resource Kits\Tools\srvany.exe)
* Creamos una nueva clave (clic derecho, Nuevo / Clave) con nombre “Parameters”
* Dentro de “Parameters” creamos un nuevo valor alfanumérico (clic derecho, Nuevo / Valor alfanumérico) con la ruta completa al ejecutable del programa (ej. C:\Tool\dns.exe)
Con eso el programa quedará funcional, para comprobarlo, vamos a la lista de Servicios del Sistema (en Ejecutar, services.msc), donde podemos Iniciarlo, Pausarlo o Detenerlo. Si el programa necesita interactuar con el escritorio, es decir, necesitamos usarlo visualmente, vamos hasta la solapa Iniciar sesión, y tildamos “Permitir a los servicios que interactúen con el escritorio”
Dentro de todas las utilidades ahora instaladas, estan: instsrv.exe y srvany.exe, que son las que vamos a usar para convertir un programa en servicio de Windows.
El siguiente paso es registrar el programa con un servicio válido, esto se hace con los siguientes comandos:
instsrv.exe
o bien
ruta\INSTSRV.EXE [mi servicio] ruta\SRVANY.EXE
Para no tener problemas en donde dice ruta pongan la ruta del directorio en el que estan los archivos junto con la letra asignada a la unidad. [mi servicio] es el nombre del servicio que deseamos correr. Puede ser cualquier nombre pero es recomendable que sea descriptivo. Si todo salio bien nos mostrara un mensaje diciéndonos que el servicio fue agregar satisfactoriamente.
Para asegurarnos que fue así debemos revisar el Registro de Windows, para realizar esto abriremos el Editor de Registro (Inicio –> Ejecutar –> regedit) y nos posicionaremos en la siguiente clave:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[mi servicio]
Si podemos ubicar el servicio creado anteriormente es porque todo salio bien.
3- Ahora seleccionaremos nuestro servicio, luego nos dirigimos al menú Edición –> Nuevo –> Clave, el nombre que le pondremos es “Parameters”. Seleccionaremos la clave “Parameters” y nos dirigimos nuevamente al menú Edición –> Nuevo –> Valor alfanumérico y le ponemos el nombre “Application”, veremos que se agrega este valor lo seleccionamos y hacemos clic con el botón derecho y seleccionamos “Modificar” y en “Información del valor” pondremos la ruta completa de la aplicación con la extensión.
ejemplo: C:\Archivos de programa\aplicacion\miaplicacion.exe
De ésta manera el programa ya está registrado como servicio, y aparecerá en la lista de servicios (services.msc) ahora solo debemos configurar unas ramas del registro:
* HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
* Cambiamos el valor de “ImagePath” por la ruta a srvany.exe (si instalamos el RK por defecto, C:\Archivos de programa\Windows Resource Kits\Tools\srvany.exe)
* Creamos una nueva clave (clic derecho, Nuevo / Clave) con nombre “Parameters”
* Dentro de “Parameters” creamos un nuevo valor alfanumérico (clic derecho, Nuevo / Valor alfanumérico) con la ruta completa al ejecutable del programa (ej. C:\Tool\dns.exe)
Con eso el programa quedará funcional, para comprobarlo, vamos a la lista de Servicios del Sistema (en Ejecutar, services.msc), donde podemos Iniciarlo, Pausarlo o Detenerlo. Si el programa necesita interactuar con el escritorio, es decir, necesitamos usarlo visualmente, vamos hasta la solapa Iniciar sesión, y tildamos “Permitir a los servicios que interactúen con el escritorio”
Kit de Herramientas Windows Server 2003
http://www.microsoft.com/latam/technet/seminario/3estrella2.mspx
martes, 4 de octubre de 2011
No funciona not in en TSQL
El dia de ayer un compañero estaba realizando una consulta de la siguiente forma:
SELECT * from tabla_claves where clave not in
(SELECT clave from claves_alta)
y la consulta no le devolvia resultados a pesar de que habia dos registros en la tabla_claves que no existian en la tabla claves_alta, y nuestra sorpresa fue darnos cuenta de que si cambiabamos el select seguido del in por las claves escritas directamente, funcionaba.
¿Por que dejo de funcionar el siempre popular "not in"?, pues nos dimos cuenta que la tabla claves_alta tenia un registro con el campo clave en valor NULL, esto provocaba que no funcionara la consulta correctamente, para que no tengan problemas con esta clausula, verifiquen que el conjunto de datos que van a comparar dentro de la clausula "not in", no contenga registros NULL
SELECT * from tabla_claves where clave not in
(SELECT clave from claves_alta)
y la consulta no le devolvia resultados a pesar de que habia dos registros en la tabla_claves que no existian en la tabla claves_alta, y nuestra sorpresa fue darnos cuenta de que si cambiabamos el select seguido del in por las claves escritas directamente, funcionaba.
¿Por que dejo de funcionar el siempre popular "not in"?, pues nos dimos cuenta que la tabla claves_alta tenia un registro con el campo clave en valor NULL, esto provocaba que no funcionara la consulta correctamente, para que no tengan problemas con esta clausula, verifiquen que el conjunto de datos que van a comparar dentro de la clausula "not in", no contenga registros NULL
jueves, 28 de julio de 2011
Programacion en Capas C#
En este vinculo se encuentra un pequeño curso de programacion en capas con C#
http://www.devtroce.com/2010/07/12/como-programar-en-n-capas-con-c-parte-1/
http://www.devtroce.com/2010/07/12/como-programar-en-n-capas-con-c-parte-1/
martes, 26 de julio de 2011
Conoce que tipo de programador eres
En esta liga se encuentra el test que te dira que tipo de programador eres(Ingles)
http://www.doolwind.com/blog/programmer-personality-test/
http://www.doolwind.com/blog/programmer-personality-test/
Suscribirse a:
Entradas (Atom)
