2011-07-15 41 views
1

我想將ms訪問數據庫(.mdb)複製到sql server數據庫(.mdf)。我用sql server做過導入和導出數據服務。但我希望它定期或在特定時間複製數據。有沒有可能。我試圖創建一個批處理文件如何將.mdb文件複製到.mdf文件

 
copy /y "E:\Dinesh Work\for-reports.mdb" "C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\for-reports.mdf" 

,但它提供了以下錯誤:

 
The process cannot access the file because it is being used by another process. 

我有我的SQL Server數據庫作爲數據庫MSACCESS相同的表。有批處理文件或其他的解決方案嗎?

任何建議將不勝感激。
在此先感謝。

回答

1

MDB和MDF文件是非常不同的類型。你不能只複製它們。

您可能會嘗試設置SSIS任務來執行常規數據傳輸 - 如果您熟悉該術語,就像ETL。

編輯:您看到文件鎖定錯誤的原因是因爲SQL Server在數據庫運行時維護對MDF文件的鎖定。爲了移動或複製它,您需要將該特定數據庫脫機。

1

正如@Yuck所說,你不能複製文件並重新命名它,你需要類似ETL或者只是一個工具來導出數據。

我做xportdsl從h2database複製到MSSQL和MSSQL到Oracle http://code.google.com/p/xportdsl/

我用格姆和工作哈克DSL,它仍然是工作

您可以用腳本編寫一個bat文件執行如下所示的java -jar xportdsl.jar test001.txt

3

這聽起來像您想要使用Access數據庫來編輯SQL Server數據庫中的數據。
這是正確的嗎?

如果是的話,你真的需要拷貝的數據嗎?
您也可以從Access鏈接到SQL Server表。

這樣,您在Access中的表格看起來像普通的本地Access表格,但它們實際上只是指向SQL Server表格的鏈接。您可以在Access中編輯這些表中的數據,但實際上是直接寫入SQL Server數據庫。

這裏有一些例子來說明如何進行設置:
Link to SQL Server data
Access to SQL Server: Linking Tables