Article View: pl.comp.bazy-danych.msaccess
Article #137524Kopiowanie danych do tabeli MySQL - optymalizacja recordeset-u
From: PB
Date: Thu, 14 Sep 2017 08:32
Date: Thu, 14 Sep 2017 08:32
69 lines
2706 bytes
2706 bytes
Witam,
Mam takie pytanie.
Posiadam dwie tabele podłączone do MS Access-a.
Tabele podłączone są przez ODBC - jedna z SQL Server-a "lokalnie" a
druga do MySQL-a serwer zdalny - hosting.
I teraz tak. Muszę aktualizować dane na MySQL-u co jakiś czas np. raz w
tygodniu. Tabel z niema identyczne. Przy transferze na MySQL dodaje 4
pola z lokalnej bazy, ale to nie jest problem.
Moje rozwiązanie działa, tylko niestety nie jest chyba najlepsze - przy
paczce 100 000 rekordów trwa to bardzo długo, nawet się zawiesza.
Moja funkcja:
--
Function fAktualizujTabele()
Debug.Print "start: " & Now()
Set conn = CurrentProject.Connection
Set rst = New ADODB.Recordset
Set rst2 = New ADODB.Recordset
rst.Open "SELECT * FROM tbl_SQLServer where id<100000", conn,
adOpenKeyset, adLockOptimistic
rst2.Open "tbl_MySQL", conn, adOpenKeyset, adLockOptimistic
rst.MoveLast
rst.MoveFirst
If rst.BOF And rst.EOF Then
MsgBox "brak danych"
End If
Do While Not rst.EOF
With rst2
.AddNew
' Pól jest zdecydowanie więcej, podaję tylko kilka przykład
rst2("id") = rst("id")
rst2("p_date") = rst("p_date")
rst2("p_time") = rst("p_time")
rst2("desc") = rst("desc")
rst2("who") = "Admin"
.Update
End With
rst.MoveNext
Loop
Set rst = Nothing
Set rst2 = Nothing
conn.Close
Set conn = Nothing
Debug.Print "end: " & Now()
End Function
----
Założenie:
rst - pobieram dane z tabeli tbl_SQLServer z warunkiem where
następnie idę po kolei po każdy rekordzie i wrzucam do tabeli tbl_MySQL
wykorzystując rst2.
Czy mogę to zrobić lepiej jak ??
dzięki za pomysły :)
PB
Technical Details
Message-ID:
<opdeqk$mfi$1@node2.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: PB <pawelboguszewski@gazeta.pl> Newsgroups: pl.comp.bazy-danych.msaccess Subject: Kopiowanie danych do tabeli MySQL - optymalizacja recordeset-u Date: Thu, 14 Sep 2017 10:32:20 +0200 Organization: ATMAN - ATM S.A. Lines: 75 Message-ID: <opdeqk$mfi$1@node2.news.atman.pl> NNTP-Posting-Host: 93.174.25.53 Mime-Version: 1.0 X-Trace: node2.news.atman.pl 1505377940 23026 93.174.25.53 (14 Sep 2017 08:32:20 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Thu, 14 Sep 2017 08:32:20 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 X-Mozilla-News-Host: news://news.atman.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit