2013-06-19 69 views
0

我使用Access 2010和SQL Server 2005.我是「升遷」過程的新手,據我瞭解這是一個遺留術語。當我對已發佈的表進行更改時,我喜歡將它們本地化回Access,使用Access接口更改它們,然後將它們「重新升級」到SQL Server。當我「重新使用」一個已更改的表時Access警告我:升級到SQL Server的訪問

「一個名爲xxxx的表已存在,是否要覆蓋它?

我選擇yes。然後訪問報告錯誤

「服務器錯誤3726:無法刪除對象‘XXXX’,因爲它是 由外鍵約束引用」

我明白外鍵約束的重要性。我遇到了使用MySQL的同樣的麻煩。在MySQL中,我會在導入前簡單地輸入set Foreign_Key_Checks = 0;,然後在完成後輸入set Foreign_Key_Checks = 1;

不幸的是,在SQL Server中,一個表不能被刪除,而它的鍵是,只有被禁用,它們必須被刪除。我不想每次修改表時刪除並重新創建外鍵。我是否需要在SQL Server環境中開始更改我的表?有沒有一種方法可以輕鬆「重新調整」表並忽略外鍵約束?

+1

出於好奇,爲什麼你會繼續訪問和SQL之間來回移動?在將它們發佈到生產環境之前,您可以使這些更改成爲SQL中的測試環境嗎?這似乎可以避免很多不必要的麻煩。 –

+0

也許我需要你澄清。我覺得我使用Access作爲開發環境,然後將更改推向SQL Server,即我的實時環境。 – GRY

+0

啊 - 通常,當我與進行SQL開發的人一起工作並自己完成時,我要麼擁有數據庫的本地副本,要麼針對開發環境工作,並通過SQL Management Studio進行大部分開發。 –

回答

1

如果您需要使用Access作爲前端,而不是在本地保留Access數據庫並處理來回移動的問題。嘗試使用Access並直接連接到可以直接通過訪問開發的sql數據庫版本。您可能會想要在Access to SQL中使用鏈接的數據源。

Connecting SQL Server to an Access Database

相關問題