2009-08-12 114 views
0

我是MSSQL開發人員,最近我的任務是修復基於Access的系統。這一變化涉及到數據庫的更改。我不想在「活的」數據庫上開發,我寧願製作一個副本,然後在所有測試完成時結束,並在結構方面與活動同步。訪問開發 - 使實時數據庫與開發數據庫保持同步

如何使用訪問權限執行此操作?我可以從開發數據庫製作升級腳本並在「實時」訪問數據庫上運行它們嗎?

謝謝!

回答

1

您可以創建一個腳本添加和更改字段(列),但它可能是更好的創建開發數據庫的空複製,並從現場數據庫追加,使用查詢和VBA。

0

當然可以,但有時比手動應用更改更困難。如果您只需對數據庫的一個實例執行更改,則最好將其複製以供開發,開發更改並準備更改規範以手動應用/半手動應用(某些腳本可能很容易實現開發 - 它會縮短改變部署的時間)

例如,很難從TRUE更改列的「必需」屬性設置爲false。 (您已經使列臨時拷貝,刪除原單,使新的用適當的設置,複製臨時列的內容到新列,刪除臨時一個 - 非常簡單,不是嗎?)

-1

由於您是SQL Server開發人員的區域,因此可以考慮在Access中分離出前端和後端。然後你可以使後端成爲SQL Server表達式。然後,您可以輕鬆地對更改的腳本進行腳本編寫,這與您現在在SQL Server中執行的操作相同。我在Access工作已經有一段時間了,但我認爲你需要重新鏈接前端的表格。

1

你可以按照Ramou的想法。真的,Access數據庫通常是完整的,包含在一個文件中。因此,您可以複製整個數據庫並進行工作並測試副本,然後部署副本。這樣,您就可以利用迄今爲止開發的代碼,結構和對象,而無需其他程序或腳本。訪問開發很簡單,有許多在線資源。

+0

-1。分割數據庫對於描述的任務是必不可少的。 – Smandoli 2009-08-13 17:41:02

0

Compare'Em將創建VBA代碼兩個數據庫之間的差異,以便根據需要它可以做升級,以督促後端。我在後端的表中保留一個版本號,並執行相應的子程序來升級後端。

0

首先,數據庫應被分成後端(僅表)和前端(形式/報告/查詢/模塊/等)。每個用戶都將在其工作站上擁有前端的副本,並鏈接到後端的表格,並在文件服務器上共享。

進行開發,你會工作在前端的一個副本,改變窗體/報告/代碼等,並準備部署時,用戶會直接複製過來現有的前端的頂部。

如果你改變數據結構,你可以編寫腳本,但爲什麼要麻煩?編寫和測試腳本需要花費更多時間,以便將測試平臺中的更改後端化,然後在新前端投入生產使用時重新進行。如果我需要升級同一個後端的多個副本,我只會編寫這樣的腳本。

0

第一個關鍵是分裂數據庫,在許多答案中已經找到了。要快速簡便地部署客戶端數據庫,請查看these instructions

+0

Auto FE更新程序比該腳本做了很多事情,包括創建/更新快捷方式等。http://www.granite.ab.ca/access/autofe.htm – 2009-08-13 22:19:25

+0

謝謝...這可能是最好的對於我的生活迄今爲止。我會看一看。 – Smandoli 2009-08-13 22:40:30

0

這是一個新手的建議,但:

當您更改數據庫的dev的副本,進入到一個文本文件中的一系列將執行這些變化,仍然保持數據完整的SQL命令。

定期取得實時數據庫的新副本,並對其運行腳本,以測試這些腳本將A)正常工作,B)正確保留所有數據。

當需要發佈您的工作時,請執行最後一項測試,針對活動數據庫的副本運行SQL命令。 (爲此,請將實時數據庫脫機,以便不會有新數據進入。)

只要您確定它可以工作,只需將實時數據庫交換到最新的開發數據庫即可。

而且,您的所有數據庫更改都已腳本化在您的文本文件中,因此如果需要,您可以稍後再回頭查看它們。