问题:我正在尝试使用打开的表/关闭表方法创建具有
Dexterity 的新SQL表。 但是,在"open table"语句中,返回SQL错误:"对表 xxx 的打开操作无法访问SQL
数据"。单击"详细信息"时,它显示"[Microsoft][ODBC SQL Server 驱动程序][SQL Server]数据库中已存在名为 PKADSY4997 的对象。 [Microsoft][ODBC SQL Server 驱动程序][SQL Server]无法创建约束。 请参阅以前的错误。"
表的物理名称为 PKADSY4997,此表不存在,也不执行此表的任何 zDP 存储过程。 导致错误的原因是什么?
解答:在这种情况下,表之前已创建并删除,但出于某种原因,表
的约束尚未删除。
在 Query Analyzer 中,我们运行了此查询:从
sysobjects 中选择 *,其中名称 = 'PKADSY4997' 返回的 ID 为
151193332,parent_obj 为 173243672。
查看parent_obj列,我们接下来针对父对象运行了选择查询,但找不到该查询。 因此,这是一个孤立的约束,如我们预期的那样。
此时,我们需要删除孤立的约束。 但首先,需要更改设置。
在SQL Server属性"窗口中,必须标记一个复选框以允许删除此约束 - 允许直接对系统目录进行修改。
现在从查询分析器中删除:从
sysobjects 中删除,其中名称为"PKADSY4997"这删除了约束,现在可以通过
Dexterity 正确创建表。
本文为 TechKnowledge 文档 ID:26107