forzar el refresco de vistas

22/11/2005 - 16:37 por .·:m·a·r·l·a:·. | Informe spam
Hola a todos

me he encontrado con un problema, para mi sorprendente,

el caso es que he cambiado la definicion de uno de los campos (llamemosle
campoX) de 2 a 4 caracteres en una tabla

esta tabla junto a otras (similar estructura) es usada en una vista que las
une (UNION) teniendo la primera tabla de dicha union el campoX igual a 2
caracteres

pruebo la vista desde el propio servido y me da correctamente valores de
hasta 4 caracteres provinientes de la tabla actualizada

pero cuando esta vista es usada en uno de los linked servers o applicaciones
de acess tan solo devuelve los dos primeors caracteres

es como si en algun lugar se guardara memoria de los tamaños de los campos
de las vistas, y habiendo sido el maximo anterior 2 , ahora no reconoce los
4 caracteres

alguien me puede dar una ayudita ??

gracias por adelantado
 

Leer las respuestas

#1 Alejandro Mesa
22/11/2005 - 17:22 | Informe spam
Trata ejecutando este script en sql server y luego vuelve a linkear la vista
en access.

use northwind
go

declare @sql nvarchar(4000)
declare @ts sysname
declare @tn sysname
declare views_cursor cursor
local
fast_forward
for
select
TABLE_SCHEMA,
TABLE_NAME
from
INFORMATION_SCHEMA.TABLES
where
TABLE_TYPE = 'VIEW'
and objectproperty(object_id(quotename(TABLE_SCHEMA) + '.' +
quotename(TABLE_NAME)), 'IsMSShipped') = 0

open views_cursor

while 1 = 1
begin
fetch next from views_cursor into @ts, @tn

if @@error != 0 or @@fetch_status != 0 break

set @sql = N'exec sp_refreshview ''' + quotename(@ts) + '.' +
quotename(@tn) + N''''

print @sql
exec sp_executesql @sql
end

close views_cursor
deallocate views_cursor
go


AMB

".·:m·a·r·l·a:·." wrote:

Hola a todos

me he encontrado con un problema, para mi sorprendente,

el caso es que he cambiado la definicion de uno de los campos (llamemosle
campoX) de 2 a 4 caracteres en una tabla

esta tabla junto a otras (similar estructura) es usada en una vista que las
une (UNION) teniendo la primera tabla de dicha union el campoX igual a 2
caracteres

pruebo la vista desde el propio servido y me da correctamente valores de
hasta 4 caracteres provinientes de la tabla actualizada

pero cuando esta vista es usada en uno de los linked servers o applicaciones
de acess tan solo devuelve los dos primeors caracteres

es como si en algun lugar se guardara memoria de los tamaños de los campos
de las vistas, y habiendo sido el maximo anterior 2 , ahora no reconoce los
4 caracteres

alguien me puede dar una ayudita ??

gracias por adelantado



Preguntas similares