【发布时间】:2013-06-19 19:23:42
【问题描述】:
我使用 Access 2010 和 SQL Server 2005。我对“升迁”过程不熟悉,我理解这是一个旧术语。当我对已发布的表进行更改时,我喜欢将它们本地化回 Access,使用 Access 界面更改它们,然后将它们“重新升级”到 SQL Server。当我“重新使用”更改后的表时,Access 会警告我:
“一个名为 xxxx 的表已经存在,你要覆盖它吗?”
我选择是。然后Access报错
“服务器错误 3726:无法删除对象‘xxxx’,因为它是 由 FOREIGN KEY 约束引用。"
我了解外键约束的重要性。我在使用 MySQL 时也遇到过同样的问题。在 MySQL 中,我会在导入前简单地 set Foreign_Key_Checks = 0;,然后在完成时 set Foreign_Key_Checks = 1;。
不幸的是,在 SQL Server 中,当表的键仅被禁用时,不能删除表,必须删除它们。我不想每次更改表时都删除并重新创建外键。我是否需要开始在 SQL Server 环境中更改我的表?有没有办法轻松“重新调整”表并忽略外键约束?
【问题讨论】:
-
出于好奇,您为什么要在 Access 和 SQL 之间来回切换?在将它们发布到生产环境之前,您可以在 SQL 中对测试环境进行更改吗?这似乎可以避免很多不必要的麻烦。
-
也许我需要你澄清一下。我觉得我正在使用 Access 作为开发环境,然后将更改推送到我的实时环境 SQL Server。
-
啊 - 通常,当我与从事 SQL 开发的人一起工作并自己完成时,我要么拥有数据库的本地副本,要么针对开发环境工作,并通过 SQL Management Studio 进行大部分开发。
-
那么,您建议在 SQL Server 环境中更改我的表,并使用专为字体结尾的访问权限?
-
那个“re-uspize”的想法是我见过的最糟糕的。算了!
标签: sql sql-server ms-access ms-access-2010