Загрузка дампа 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

Я предлагаю использовать табуляцию или запятую. Когда вы выполните файл-> получить внешние данные, вы должны увидеть запуск мастера, который позволяет импортировать текстовый файл (с разделителями).

Другие вопросы по тегам