2017-09-29 109 views
0

我上有兩個數據庫的連接一個是在Azure中託管SQL Server的Microsoft Access項目的工作,另一個是MySQL的託管Linux服務器上。的MS Access連接到兩個的Dbs

在我的表單中,我試圖將數據從MySQL導入Azure服務器。

我已經成功連接到數據庫和插入值到我的數據庫

   From MySql /Linux  ---- INTO ---->   Azure/SQL 

通過查詢和通過我的代碼都手動插入。我的表單上的代碼本質上是運行一個SQL查詢來從表MySQL中選擇到SQL Server數據庫中。

我有一個主鍵是目標表中的唯一標識(guid)。所以當然這不能爲空。在測試中,我通過SQL插入語句在表中手動插入了一條記錄。看到這個工作,所以我繼續測試相同的查詢,由按鈕點擊事件觸發。哪些工作。它將從另一個表中導入記錄,並且默認創建一個指導。然而,經過進一步測試,我開始意識到,當我使用空表時,它不會成功導入到另一個表中。 Access將按鈕單擊運行查詢,但會警告我沒有記錄會被傳輸。

我的問題是爲什麼?我錯過了什麼,以正確地插入一個新的記錄到一個空表?它似乎只與具有現有記錄的表一起工作。

+1

這實際上取決於您的確切設置以及查詢的內容。我不認爲沒有進一步的信息,任何人都可以回答這個問題 –

+0

我很困惑,「使用空表,它不會成功導入到另一個表」。當然,如果一個表是空的,那麼沒有記錄要導入到另一個表中。然後你說「插入一個新的記錄到一個空的表格」。那麼目標表是空的,並且導入失敗?那會很奇怪。發佈查詢和代碼進行分析。 – June7

+0

啊,我沒有正確說出它。我正在嘗試將新記錄插入空表中。查詢的樣本版本是這樣的... INSERT INTO destTable(DateEntered,名字,姓氏) SELECT sourceTable.DateCreated,sourceTable.FirstName,sourceTable.LastName FROM sourceTable會,destTable –

回答

0

有可能是術語問題。使用Access的術語;您可以分兩步進行:使用查詢設計視圖功能

a。使用要移動的記錄表進行選擇查詢。用名字保存 - 我現在將它命名爲Q1。

b。創建追加查詢;首先選擇Q1作爲記錄來源 - 當您將其識別爲追加記錄時,它會詢問目的地表格,然後您將選擇該記錄。然後根據需要調整字段。將其另存爲A2查詢。

然後你需要做的就是在持續的意義上激發A2查詢。

在Access術語中,有一個選擇,附加,更新和不插入 - 所以雖然更新查詢的SQL語法確實是插入所有我能想到的可能是您調用更新方法,當然這需要有一個超過寫的記錄。

希望這會有所幫助。