我有一個Access數據庫文件(TEST.MDB),我需要寫一個存儲過程將在TEST.MDB選擇TBLTEST一些記錄,並把它們插入到tbsqlTest在我sql數據庫。 ==>我需要這樣一個SP:從Access數據庫文件選擇並插入到SQL數據庫的
BEGIN
select * into tblTest from [test.mdb].[tblTest]
where (my condition)
END
我有一個Access數據庫文件(TEST.MDB),我需要寫一個存儲過程將在TEST.MDB選擇TBLTEST一些記錄,並把它們插入到tbsqlTest在我sql數據庫。 ==>我需要這樣一個SP:從Access數據庫文件選擇並插入到SQL數據庫的
BEGIN
select * into tblTest from [test.mdb].[tblTest]
where (my condition)
END
如果你願意允許您的SQL Server上特設分佈式查詢,你可以使用OPENDATASOURCE從一個MDB文件中檢索數據。
SELECT * INTO dbo.TestAccess FROM OPENDATASOURCE(
'Microsoft.Jet.OLEDB.4.0',
'Data Source="\\server\share\somefolder\scratchpad.mdb"')...MyTable;
或創建目標表後,你可能會喜歡:
INSERT INTO dbo.TestAccess
SELECT * FROM OPENDATASOURCE(
'Microsoft.Jet.OLEDB.4.0',
'Data Source="\\server\share\somefolder\scratchpad.mdb"')...MyTable;
爲了讓那些運行,我不得不啓用特設分佈式查詢是這樣的:
sp_configure 'show advanced options', 1;
RECONFIGURE WITH OVERRIDE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE WITH OVERRIDE;
GO
我發現配置指令on TechNet,但直到我添加WITH OVERRIDE時它才起作用。
編輯:我爲你的問題添加了一個sql-server標籤,因爲我想知道我的建議是否是愚蠢的風險。也許將MDB設置爲鏈接服務器是更安全的方式。我不知道。
如果你要定期做這個; 1.創建在設計視圖,你想要它做的事情,包括標準來過濾查詢結果什麼追加查詢。 2.在SQL視圖中查看查詢。 3.複製SQL文本 4.在窗體上創建一個按鈕。轉到屬性窗口,在事件選項卡下,然後選擇「點擊」事件。點擊省略號「...」並打開代碼。
使用此代碼:
昏暗MyAppendString作爲字符串
MyAppendString = 「(代碼線1)」 & _ 「(代碼第2行)」 & _ 「(最後一行) 「;
docmd.runsql MyAppendString
****************代碼
每次單擊該按鈕結束,它將執行追加查詢,硬編碼與您選擇的標準。
讓我知道,如果你堅持在任何這些點。我會給你更詳細的說明。
沒有形式或VB代碼,我的朋友,我每個月都會收到一個mdb文件,我需要一個SP進口對我來說。 – Asha 2010-06-29 23:00:40
這將是一個一次性事件?還是需要一直運行 - 就像在動態複製方案中一樣? – Randy 2010-06-29 22:37:32
正如我所說的,我需要創建一個存儲過程,所以我需要像計劃的作業運行此 – Asha 2010-06-29 22:45:33