0

しばらくの間、リモートの MS Access データベースからデータを取得し、単純な SELECT * INTO クエリを使用してその内容をローカルの Access DB にコピーしてきました。ただし、現在、MySQL データベースからデータを取得してローカルの Access DB にコピーする必要がある移行プロセスにあるため、前述のクエリは明らかな理由でここでは機能しません。

外部プログラムを使用できず、VB.NET でのみ書き込みが許可されているため、データを転送する方法はデータテーブルを使用することです。それはその仕事をしますが、パフォーマンスは恐ろしいです。

したがって、私の質問は、VB.NET のみを使用して、リモートの MySQL データベースからローカルの MS Access にデータを転送/コピーする高速な方法があるかどうかです。

私の現在のコード:pastebin.com/ELmkVFSc

4

1 に答える 1

0

非常に大まかに:

Imports Microsoft.Office.Interop.Access.Dao

Module Module1

    Sub Main()
        Dim dbEng As New DBEngine()
        Dim ws As Workspace
        Dim db As Database
        ws = dbEng.CreateWorkspace("", "admin", "", WorkspaceTypeEnum.dbUseJet)
        db = ws.OpenDatabase("z:\\docs\\test.accdb", False, False, "")
        db.Execute("SELECT * INTO Newtable From [ODBC;DSN=MySQL;].test")

    End Sub

End Module

次の行でクエリを実行することもできます。

SELECT * INTO Newtable FROM
[ODBC;Driver={MySQL ODBC 5.1 Driver};Server=127.0.0.1;Database=test;User=usr;Password=pwd;CLIENT_MULTI_RESULTS;Option=3;].test;
于 2012-09-26T00:27:56.677 に答える