Saltar al contenido

Conflicto de tipo de operando: el identificador único es incompatible con int

Después de de una prolongada compilación de datos pudimos solucionar esta contratiempo que pueden tener ciertos lectores. Te ofrecemos la solución y deseamos que te sea de gran ayuda.

Solución:

Me parece que al menos una de esas tablas ha definido UserID como un uniqueidentifierno un int. ¿Revisaste los datos en cada tabla? Que hace SELECT TOP 1 UserID FROM el rendimiento de cada mesa? Un int o un GUID?

EDITAR

Creo que ha creado un procedimiento basado en todas las tablas que contienen una columna llamada ID de usuario. Creo que no deberías haber incluido el aspnet_Membership table en su secuencia de comandos, ya que no es realmente una de “sus” tablas.

Si pretendía diseñar sus mesas alrededor del aspnet_Membership base de datos, entonces ¿por qué el resto de las columnas int cuando esa tabla usa claramente un uniqueidentifier Para el UserID ¿columna?

Si está accediendo a esto a través de una vista, intente sp_recompile o vistas refrescantes.

sp_recompile:

Hace que los procedimientos almacenados, los disparadores y las funciones definidas por el usuario se vuelvan a compilar la próxima vez que se ejecuten. Para ello, descarta el plan existente de la caché de procedimientos, lo que fuerza la creación de un nuevo plan la próxima vez que se ejecute el procedimiento o el disparador. En una colección de SQL Server Profiler, se registra el evento SP:CacheInsert en lugar del evento SP:Recompile.

Argumentos

[ @objname= ] 'object'

El nombre calificado o no calificado de un procedimiento almacenado, activador, tabla, vista o función definida por el usuario en la base de datos actual. el objeto es nvarchar(776), sin valor predeterminado. Si objeto es el nombre de un procedimiento almacenado, activador o función definida por el usuario, el procedimiento almacenado, activador o función se volverá a compilar la próxima vez que se ejecute. Si objeto es el nombre de una tabla o vista, todos los procedimientos almacenados, activadores o funciones definidas por el usuario que hacen referencia a la tabla o vista se volverán a compilar la próxima vez que se ejecuten.

Valores de código de retorno

0 (éxito) o un número distinto de cero (fracaso)

Observaciones

sp_recompile busca un objeto en la base de datos actual solamente.

Las consultas utilizadas por los procedimientos almacenados o desencadenadores y las funciones definidas por el usuario se optimizan solo cuando se compilan. A medida que se realizan índices u otros cambios que afectan las estadísticas en la base de datos, los procedimientos almacenados compilados, los disparadores y las funciones definidas por el usuario pueden perder eficiencia. Al volver a compilar los procedimientos almacenados y los disparadores que actúan sobre una tabla, puede volver a optimizar las consultas.

Nos encantaría que puedieras recomendar esta reseña si si solucionó tu problema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *