Загрузка дампа MySQL или текстового файла в Microsoft Access 2003
Я не являюсь экспертом в MS Access, мне дали текстовые файлы в основном с более чем сотней тысяч записей в нем, и меня попросили загрузить этот текстовый файл в базу данных MS Access. Поскольку я знаю MySQL, я сначала загрузил этот текстовый файл в базу данных MySQL, используя обычную команду Загрузить текстовый файл, и она работала, как и ожидалось. Однако, когда в Access 2003 я захожу в меню "Файл", чтобы получить внешние данные и просматривать текстовый файл, он просто ничего не делает после выбора файла.
Я попытался загрузить через дамп SQL, я создал таблицу, переключился на запрос SQL, но я не могу скопировать вставить все эти команды вставки в него, на самом деле он говорит, что значение слишком велико для ввода, и я не могу вставьте их один за другим, так как количество записей огромно.
Любая помощь? Буду благодарен
3 ответа
Мне не ясно, что может привести к невозможности прямого импорта текстового файла. Вам нужно будет предоставить более подробную информацию о том, что вы пытаетесь в Access и где это происходит не так.
Но если вы уже получили данные в MySQL и хотите импортировать их оттуда, создайте DSN для своей базы данных MySQL, затем используйте IMPORT из ODBC, укажите DSN, и вы сможете импортировать таблицу из MySQL в Доступ. Он также работает с несколькими таблицами одновременно.
Вы, вероятно, не сможете импортировать дамп mySQL напрямую в Access из-за различий в синтаксисе.
Одним из способов было бы использовать графический инструмент, такой как HeidiSQL, для экспорта данных MySQL в виде CSV, который должен быть легко доступен в Access.
Другая идея - импортировать дамп в mySQL, а затем получить доступ к mySQL из Access с помощью ODBC-коннектора.
Это текстовый файл, такой как разделитель табуляции или запятая?
Или это файл команд sql?
Доступ не должен иметь проблем с экспортируемыми текстовыми файлами из mySql. Однако доступ не может напрямую использовать текстовый файл команд sql для вставки данных.
Вы можете либо экспортировать файлы с разделителями табуляции, либо, если возможно, даже связать базу данных доступа напрямую с сервером mySql и использовать некоторые таблицы добавления / создания.
Другой подход заключается в установке mySql на локальном компьютере, чтении сценариев sql, а затем либо экспортировании в виде текстовых файлов с табуляцией или запятой, либо просто связывании доступа напрямую с этим локальным запущенным экземпляром MySql и использовании запросов добавления для извлечения этих данных.,
Однако, если в этом дампе sql каждая команда sql разделена символом a; тогда простой кусок кода VBA мог прочитать эти команды sql. Нечто подобное может сработать:
Sub SqlScripts()
Dim vSql() As String
Dim vSqls As Variant
Dim strSql As String
Dim intF As Integer
intF = FreeFile()
Open "c:\sql.txt" For Input As #intF
strSql = Input(LOF(intF), #intF)
Close intF
vSql = split(strSql, ";")
On Error Resume Next
For Each vSqls In vSql
CurrentDb.Execute vSqls
Debug.Print "--->" & vSqls
Next
End Sub
Я предлагаю использовать табуляцию или запятую. Когда вы выполните файл-> получить внешние данные, вы должны увидеть запуск мастера, который позволяет импортировать текстовый файл (с разделителями).