самый быстрый / безопасный способ экспорта таблиц mysql в таблицу доступа ms - PullRequest
1 голос
/ 02 мая 2011

Я ищу способ экспортировать некоторые таблицы MySql в другие таблицы базы данных MsAccess (я говорю о миллионной таблице записей ...)

единственный способ, о котором я подумалявляются:

  1. экспорт из myadmin или toad CSV-файл, а затем импортировать его в базу данных доступа.

  2. сделать непосредственно из Toad «Доступ»Экспорт базы данных "

Я получаю, что первый более быстрый, но менее безопасный для целостности данных, а второй идеально подходит для целостности данных, но очень медленный ... кто-то знаетдругие способы?

Спасибо А.

Ответы [ 3 ]

2 голосов
/ 27 февраля 2012

пошаговое руководство по запуску веб-приложения Access с базой данных MySQL на веб-сервере (вам не нужно импортировать таблицы, вы можете использовать ваше приложение msaccess WITH на веб-сервере):

Если вы используете MsAccess, я полагаю, что вы используете Windows

  1. Установка MySQL ODBC 5.1 Driver (соединитель) http://dev.mysql.com/downloads/connector/odbc/
  2. Открыть панель управления на выигрышной машине
  3. АДМИНИСТРАТИВНЫЕ ИНСТРУМЕНТЫ (если Vista или Seven, поиск ODBC)
  4. НАСТРОЙКА ИСТОЧНИКОВ ДАННЫХ ODBC
  5. СИСТЕМА DSN
  6. ADD

в зависимости от вашего сервера, у вас могут возникнуть проблемы с поиском имени или IP-адреса сервера, поиск соединения с базой данных SSH (или что-то подобное). например, прочитайте FAQ по NetSol: http://www.networksolutions.com/support/how-to-back-up-the-mysql-database-using-ssh/

как только вы это сделаете, в MsAccess: 1. ФАЙЛЫ 2. ВНЕШНИЙ ИСТОЧНИК ДАННЫХ 3. СВЯЗЬ СТОЛОВ

если вы хотите экспортировать MySQL из MsAccess в MySQL, вы можете создать ФОРМУ в доступе, поместить на нее кнопку и в VBA создать эту подпрограмму для события OnClick ():

Dim sTblNm As String
Dim sTypExprt As String
Dim sCnxnStr As String, vStTime As Variant
Dim db As Database, tbldef As DAO.TableDef

On Error GoTo ExportTbls_Error

sTypExprt = "ODBC Database"
sCnxnStr = "ODBC;DSN=DSNname;UID=userOnServer;PWD=pwdOnServer"
vStTime = Timer
Application.Echo False, "Visual Basic code is executing."

Set db = CurrentDb()

For Each tbldef In db.TableDefs
Debug.Print tbldef.Name
sTblNm = tbldef.Name
DoCmd.TransferDatabase acExport, sTypExprt, sCnxnStr, acTable, sTblNm, sTblNm
Next tbldef

MsgBox "Done!"
On Error GoTo 0
SmoothExit_ExportTbls:
Set db = Nothing
Application.Echo True
Exit Sub

ExportTbls_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure ExportTblsODST"
Resume SmoothExit_ExportTbls

иногда, при запуске неанглийских окон вы можете получить ошибку 2507, изменить «База данных ODBC» на «ODBC» (работает с французским).

1 голос
/ 02 мая 2011

Если у вас есть доступ ODBC к MySQL, и ваш сервер находится в вашей сети, вы можете импортировать его таблицы из Access.Я думаю, что пункты меню «Файл | Получить внешние данные | Импорт».

Для «Тип файлов» выберите «Базы данных ODBC».Возможно, вам придется создать новое имя DSN.

Я не могу вспомнить, являются ли драйверы ODBC по умолчанию установочными, или они устанавливаются отдельно.Я думаю, что они установлены по умолчанию, но я могу ошибаться.

0 голосов
/ 18 июня 2015

Спасибо Тони за этот потрясающий сценарий, экономящий время. Поскольку я называю свои таблицы с префиксом "tbl", я изменил код, чтобы он экспортировал только те таблицы (не странно выглядящие):

Private Sub Command0_Click()
Dim sTblNm As String
Dim sTypExprt As String
Dim sCnxnStr As String, vStTime As Variant
Dim db As Database, tbldef As DAO.TableDef
Dim str As String

On Error GoTo ExportTbls_Error

sTypExprt = "ODBC Database"
sCnxnStr = "ODBC;DSN=proxmox decaoriginal;UID=matantan;PWD=majadero5"
vStTime = Timer
Application.Echo False, "Visual Basic code is executing."

str = "tbl"

Set db = CurrentDb()

For Each tbldef In db.TableDefs
Debug.Print tbldef.Name
If Left(tbldef.Name, 3) = str Then
sTblNm = tbldef.Name
DoCmd.TransferDatabase acExport, sTypExprt, sCnxnStr, acTable, sTblNm, sTblNm
Else
End If
Next tbldef

MsgBox "Done!"
On Error GoTo 0
SmoothExit_ExportTbls:
Set db = Nothing
Application.Echo True
Exit Sub

ExportTbls_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure  ExportTblsODST"
Resume SmoothExit_ExportTbls
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...