2010-03-10 47 views
2

我在這裏有一個項目,目標是將多個Access數據庫合併到一個SQL Server數據庫中。 Access數據庫中的一些記錄是自動編號,並不會在所有數據庫中唯一。我該如何修改C#中的Access數據庫模式?

我們目前正致力於修改那些自動編號字段programmaticaly爲數字字段。在將所有這些表追加到SQL服務器之前,調整並允許訪問級聯這些更改。

我意識到訪問getSchema(),但我們可以修改模式從字段中刪除自動編號嗎?

如果沒有人,有沒有人有任何關於如何完成我們的任務的精彩想法?或做了類似的事情?

問候

回答

2

您可以使用DDL:

ALTER TABLE Table1 ALTER COLUMN id long 

編輯重新COMMENT

您需要更改字段類型之前刪除的關係,而是一個主索引被罰款:

ALTER TABLE Table2 DROP CONSTRAINT Table1Table2 

約束可能會在這些行上被調用,但y您可以使用ADOSchemas獲取約束(關係)的名稱。

+0

使用ADOX的一些實例將與現有數據表這項工作? col是PK的地方?是另一張桌子的FK? – Chris 2010-03-10 21:22:59

+0

我已添加註釋。如果您正在從自動編號轉到數字,現有數據就沒有問題,但是相反。 – Fionnuala 2010-03-10 21:49:35

2

由於您正在親吻MS-Access,請不要手動編輯表格(右鍵單擊相關表格和設計)?這可能比編寫代碼來做同樣的事情更快。

如果您真的需要編程方式來做事情,ADOX是一個相當成熟的用於操作模式對象的API,並且它是MS-Access最爲完整的功能。它是COM,但你可以使用COM互操作。

在此頁面中埋藏是添加列 http://www.codeguru.com/cpp/data/mfc_database/ado/article.php/c4343#_Toc1461080

+0

我們有大約60-100 ms訪問數據庫進行合併,編程方式效率更高。謝謝你,會考慮你的鏈接 – Chris 2010-03-10 21:20:50

相關問題