Pregunta: Estoy intentando usar el método abrir tabla o cerrar tabla para crear mi nueva tabla de SQL
con Destreza. Sin embargo, en la instrucción "tabla abierta", se devuelve SQL error: "Una operación abierta en la tabla xxx no ha podido acceder a SQL
datos". Al hacer clic en Más información, dice "[Microsoft][Odbc SQL Server Driver][SQL Server] Ya hay un objeto denominado PKADSY4997 en la base de datos. [Microsoft] [Controlador SQL Server ODBC] [SQL Server] No se ha podido crear una restricción. Ver errores anteriores".
El nombre físico de mi tabla es PKADSY4997 que no existe ni ninguno de los procedimientos almacenados de zDP para esta tabla. ¿Qué podría estar causando el error?
Respuesta: En este caso, la tabla se había creado y eliminado anteriormente, pero por algún motivo no se había quitado una restricción
de la tabla.
En el Analizador de consultas, se ejecutó esta consulta: seleccione * de
sysobjects donde name = 'PKADSY4997' El id devuelto era
151193332 y el parent_obj era 173243672.
Al ver la parent_obj, a continuación, se ejecutó la consulta de selección en el objeto primario y no se pudo encontrar uno. Por lo tanto, se trataba de una restricción huérfana como esperábamos.
En ese momento, necesitábamos eliminar la restricción huérfana. Pero en primer lugar, es necesario cambiar una configuración.
En la SQL Server propiedades, hay una casilla que debe marcarse para permitir que se elimine esta restricción: permitir que las modificaciones se puedan realizar directamente en los catálogos del sistema.
Ahora desde el Analizador de consultas: elimine de
sysobjects donde name = ''PKADSY4997' Esto eliminó la restricción y la tabla podría volver a crearse correctamente desde
Dexterity ahora.
Este artículo era TechKnowledge Document ID:26107