Posteado por: toniogago | 26 abril 2013

SET IDENTITY_INSERT

Para poder hacer inserciones masivas en una tabla de SQL, si esta tabla tiene un campo de identidad (autonumérico), no nos dejará hacer el Insert.

La solución es utilizar la función SET IDENTITY_INSERT. El problema que podemos tener es que el INSERT INTO FROM necesita la lista de los campos y no vale con un * (asterisco).

Leer Más…

Posteado por: toniogago | 26 abril 2013

Reseed

Cuando utilizo la función SET IDENTITY_INSERT para insertar registros en tablas con campos autonuméricos (identidad), estos campos autonuméricos pueden quedar mal.

Para establecer el siguiente número en el campo autonumérico utilizo la función DBCC CHECKIDENT:

DECLARE @maxVal INT
SELECT @maxVal = ISNULL(max(intuid),0)+1 from intu
DBCC CHECKIDENT('intu', RESEED, @maxVal)

Como podrás observar, primero guardo en una variable el valor máximo más 1 del campo autonumérico de la tabla y luego ejecuto la función DBCC CHECKIDENT utilizando RESEED indicando el número de la variable. Así, cuando hagamos un INSERT en la tabla, el campo autonumérico funcionará correctamente.

Posteado por: toniogago | 13 mayo 2011

Conjunto de datos (XSD) no se abre en modo diseño

Hace unos días me surgió un problema al diseñar un nuevo Conjunto de datos en Visual Studio (xsd). Cuando lo abría, me aparecía el código xml que se genera.

Buscando en la web no encontré la solución. En muchas comentaban que había que utilizar la herramienta personalizada MsDataSetGenerator. En otras hablaban de problemas al generar una nueva conexión a la base de datos. Para hacer la prueba intenté crear una nueva conexión y me falló. Entonces me dí cuenta que no tenía la ventana del explorador de servidores abierta. Intenté abrirla pero no pude.

Leer Más…

Normalmente lo que hago para leer una tabla es utilizar un objeto SQLDataReader. Me tiene pasado en alguna aplicación la necesidad de ejecutar un Update dentro del bucle de lectura. Al estar abierto el SQLDataReader salta el error “Ya hay un DataReader abierto asociado a este comando, debe cerrarlo primero”.

Leer Más…

Posteado por: toniogago | 4 diciembre 2010

Cambiar el idioma al control ReportViewer

Si estás utilizando el control ReportViewer en una web ASP.NET, puede que los textos del control te aparezcan en inglés. Incluso si tienes que desarrollar una web para un idioma de una de nuestras comunidades (gallego, catalán, euskera…) el control ReportViewer lo podrás adaptar para que los textos aparezcan en el idioma que quieras.

Cambiando la cultura de la página (UICulture=”es-ES” Culture=”es-ES”) no me funcionó. Tampoco otras soluciones que proponen algunos foros. Todos relacionados con la cultura y globalización. Al acceder a la página de Reporting Services (http://servidor/reports) los mensajes me aparecen en castellano, pero en mi página que tiene el control ReportViewer (tengo instalado el 2008 SP1 en castellano) seguía en inglés.

Después de buscar y buscar por la web en encontré una solución que me funcionó: implementar la clase Microsoft.Reporting.WebForms.IReportViewerMessages con una clase. Esta clase hay que crearla en una carpeta especial denominada App_Code.

Leer Más…

Posteado por: toniogago | 1 abril 2010

Solución a “Licencia ha expirado” de Photoshop CS3

Si ya tenemos instalado el Photoshop CS3 y hasta ahora nos funcionaba perfectamente, sólo tenemos que borrar la caché del programa.

Para ello nos vamos al directorio C:\Program Files\Common Files\Adobe\Adobe PCD\cache y borramos el archivo cache.db

Problema resuelto.

Posteado por: toniogago | 18 marzo 2010

Instalar Windows XP en un disco SATA sin Disquetera (F6)

Los discos duros SATA empiezan a tener más apreciación tendiendo a sustituir a los IDE debido al incremento de velocidad que ofrecen. Los fabricantes de placas base empiezan a implemenar el standar de hace años, cuando la tecnología era joven y cara. Ahora como los precios de los discos SATA han bajado a niveles donde cualquiera puede decidir si elige un disco SATA o un IDE, se ha observado una gran migración de los usuarios comunes de ordenador.

Estos eligen instalar Windows y aplicaciones en discos SATA porque proporciona más velocidad que determina que el sistema vaya más ligero. Por ello para aquellos que tengan placas base antiguas con soporte SATA, necesitan un paso extra si intentan instalar Windows XP. Windows XP no proporciona drivers para todas las controladoras SATA, para estos casos, durante el procedimiento de instalación, el usuario debe insertar un disquete con los drivers que vienen con la placa.

No es un gran esfuerzo, pero lo gracioso es que un gran número de gente no tiene disqueteras. Bajo estas circunstancias, sin disquete no se puede instalar Windows XP en un disco SATA (en algunas placas). El resultado? La instalación simplemente no dectectará del disco SATA.

Aquí os presento un método para evitar este inconveniente con un truco.

Leer Más…

Posteado por: toniogago | 15 marzo 2010

Realizar un proceso Batch con ASP.NET

En algunas aplicaciones web necesitamos realizar procesos que pueden durar bastante tiempo y la página nos devuelve un error de TimeOut. Estos procesos se suelen denominar batch o por lotes.
 

Pongamos un ejemplo

Protected Sub CmdIniciar_Click(ByVal Sender As Object, ByVal e as System.EventArgs) Handles CmdIniciar.Click
  ‘Espera 91 segundos. Por defecto ASP.NET el TimeOut son 90 S.
  Thread.Sleep(91000)
  ‘Para utilizar Thread debe estar importado System.Threading
End Sub
En este caso si el TimeOut está en 90 segundos, la página nos devolverá un error.
 

Leer Más…

Posteado por: toniogago | 24 febrero 2010

Integrar Oracle BIEE con Active Directory (2)

En el directorio activo hay varios campos que podemos utilizar para asignar a variables del servidor de Oracle y poder utilizarlas en las consultas. Se pueden utilizar la mayor parte de atributos que se suelen utilizar en VBScript, como pueden ser: displayName, mail, company, department, mobile, etc.
Leer Más…

Posteado por: toniogago | 28 enero 2010

Integrar Oracle BIEE con Active Directory

Desde BIEE podemos conectarnos al servidor del dominio que tenga el Active Directory (ADSI) para validar los usuarios. A través de las variables de sistema, podremos introducir valores automáticamente en aquellas que nos interese como puede ser el código de usuario, descripción, etc. En el caso de variables del ADSI que devuelvan un Array no se podrá trabajar con ellas. En este casó están los grupos a los que el usuario pertenece. Pero podremos arreglarlo de otra manera.

Leer Más…

Older Posts »

Categorías