jueves, 9 de junio de 2011

Actualizar Control Impresión Reporting Service

Hola a todos.
Recientemente con las actualizaciones de seguridad en mi servidor Windows Server 2003 con SQL Server 2005, ha entrado una actualización que modifica el control de impresión en Reporting Service (rsclientprint.dll)
Hay un problema cuando se instala esto en una empresa en la que los usuarios ejecutan informes desde nuestro servidor de informes.
Al seleccionar el botón de imprimir el informe me solicita instalar el control de impresión como muestra la imagen adjunta.

Instalar Control Impresión


Cuando el usuario no es administrador local le va a dar error de instalación y no va a poder cargar el control de impresión, la solución en nuestro caso es hacer un script en el inicio de sesión de los usuarios que le actualice el control de impresión. y lo registre en la maquina.
Lo hemos realizado en dos pasos.

1.- Copiar los archivos del control de impresión. Colocando en  la carpeta RSClientPrint los archivos del control de impresión.
  • lsrunas.exe /user:administrador /password:123456 /domain:MiDominio /command:"xcopy \\MiDominio\NETLOGON\RSClientPrint\*.* %windir% /y" /runpath:\\MiDominio\NETLOGON\RSClientPrint\
2.- Registrar en el sistema la dll del control de impresión. rsclientprint.dll
  • lsrunas.exe /user:administrador /password:123456  /domain:MiDominio /command:"Regsvr32 /s  %windir%\rsclientprint.dll /s" /runpath:%windir%
Con estas sentencias se actualiza a los usuarios el control de impresión con las versiones nuevas del control de impresión de Reporting Service.

Saludos Alberto.



miércoles, 28 de abril de 2010

SQL Como extraer una cadena entre un valor separador

Con sql server se planteó una duda de manejo de cadenas, el problema es el siguiente.
Cómo extraer una cadena encerrado entre 2 caracteres separadores especiales.

declare @texto as varchar(max)

set @Texto = 'Este es mi texto y #100# con cien en numeros'

select
substring( @Texto,
charindex('#',@texto)+1,
(charindex('#',@texto,charindex('#',@texto)+1) - charindex('#',@texto) - 1)
)

miércoles, 28 de enero de 2009

Actualizar VSTS Data Base para SQL 2008

Recientemente he actualizado mi entorno de desarrollo y mi Base de Datos a SQL Server 2008 y he actualizado mi Visual Studio 2008 con la actualización "GDR de Microsoft® Visual StudioTeam System 2008 Database Edition".

Lo primero que realicé fue crear un proyecto nuevo de Base de Datos y todo fue correcto, vi los cambios en el entorno de desarrollo y una vez que me adapté a ellos, decidí actualizar mi proyecto de Base de Datos para este entorno.

Abrí mi nuevo entorno de desarrollo selecciono abrir proyecto o solución y selecciono mi proyecto, lo primero que hace es actualizar mi proyecto de BBDD al nuevo entorno de desarrollo y con eso empiezo a revisar las modificaciones en la estructura del proyecto. En principio no da errores graves un par de errores en permisos y roles, que se solucionan sin problemas, pero mi sorpresa viene cuando decido generar el proyecto y me parece el siguiente error en la generación

" Error 1 TSD01261: No se pudo realizar la comprobación de sintaxis 'Sintaxis incorrecta cerca de END.' en el lote cercano a 'END ", no indica nada ni el fichero que contiene el error ni algún dato que pueda servir de pista.

Me puse a revisar la sintaxis de todo el proyecto y no dio resultado, ya en un último intento encontré una incidencia en Ms Connect que habla del problema.

En resumen, resulta que al actualizar el proyecto de Base de Datos si en el proyecto tienes definido un Fichero de BBDD para el almacenamiento, al realizar la importación te comenta las líneas de código que hacen referencia al almacenamiento y te deja la siguiente sintaxis.


IF NOT EXISTS(SELECT 1 FROM dbo.sysfiles WHERE name = 'Mi_Ficehro')

BEGIN

-- La actualización del proyecto ha movido este código a 'Mi_Fichero_Material.sqlfile.sql'.

--ALTER DATABASE [$(databasename)]

--ADD FILE

--(

--NAME = N'$(databasename)_Material',

--FILENAME = N'$(DefaultDataPath)\$(databasename)_Material.ndf',

--MAXSIZE = UNLIMITED,

--FILEGROWTH = 10%

--)

--TO FILEGROUP Material

END

GO

Como resultado al generar como me ha comentado el código entre el Begin y End y no hay código da error, y su solución pasa por eliminar todo el código afectado desde el IF al GO.

Así si vais a actualizar vuestra BBDD tendréis que tener en cuenta a revisar el fichero "STORAGE.SQL" de vuestro proyecto de BBDD.

Saludos Alberto

viernes, 17 de octubre de 2008

Microsoft Update KB956391 KillBits no deja imprimir en Reporting Services

Hola a todos.
Esta es la primera entreda en el blog.
Realmente hoy tendré que contar mi historia con el servicio de actualizaciones de Microsoft, con el parche KB956391, este parche lo que nos provocó es que los informes es mi servidor de Reporting Services dejara de funcionar en los usuarios al actualizar con el parche en cuestión.
El problema está que al ejecutar los informes si mi servidor de SQL server 2005 está a nivel de actualización del SP2 "2005.90.3042" (http://support.microsoft.com/kb/321185/es). deja de funcionar el control de impresión en reporting, dando el error siguiente "Imposible cargar el control de impresión"
Luego de comparar el servidor de BBDD de producción con el de desarrollo, nos dimos cuenta que el servidor de desarrollo estaba a un nivel de actualización superior que el de producción teniendo como número de versión "2005.90.3073", esta diferencia en la versión lo que producía era que los informes se se podían imprimir en la BBDD de desarrollo y no en la de producción, como consecuencia al revisar las actualizaciones de del servidor vimos que se había aplicado en siguiente parche de seguridad del mes de septiembre "http://support.microsoft.com/?kbid=954606".
Conclusión si aplicas los parches de seguridad de Microsoft del mes de octubre y tienes reporting services 2005 asegúrate que tu Servidor está a nivel de parche adecuado.