2013-12-05 3 views
0

У меня есть проблема, которая раздражает меня в течение довольно долгого времени, и несколько дней назад я начал поиски Google для решения, но у меня нет действительно получил что-то для работы. Я немного читал о чем-то, называемом SSIS, но я не уверен, что он делает то, что я ищу, или если есть что-то еще, что я должен исследовать, чтобы достичь своей цели. Это моя проблема:Самый простой способ постоянно импортировать данные в MySQL из файла dbf на моем локальном компьютере

Моя бухгалтерская программа создает и обновляет файл .dbf с информацией обо всех ваучерах и помещает его в папку на моем локальном компьютере. Эта информация должна постоянно обновляться. Так это то, что я делаю два раза в день:

  • Я раскрываю файл .dbf в Excel
  • Сохранить это как .csv.
  • Закрыть Excel
  • Открыть файл в блокноте ++
  • Преобразование форматирования в utf8
  • Сохранить
  • журнала, чтобы MySQL
  • Перейти к таблице справа
  • Загружайте .csv
  • Заменить старые данные новыми

Поскольку это занимает довольно много времени, я считаю, что должны быть лучшие способы сделать это. Было бы здорово, если бы я мог сделать это запланировано автоматически или если есть какой-то SQL-запрос, который мог бы это сделать, потому что тогда я мог бы использовать PHP, чтобы создать веб-сайт, на который я мог бы войти, и выполнить запрос, когда я нажмите кнопку или что-то еще.

Итак, мой вопрос: какой самый простой способ постоянно получать информацию из .dbf-файла на моем SQL-сервере?

+0

это действительно ошибки мне ... что вы пробовали? вероятно, для http://programmers.stackexchange.com/? –

+0

Вы упоминаете «SQL-сервер» в своем названии - вы имеете в виду ** Microsoft SQL Server **? Где-то в вашем тексте вы упоминаете MySQL ..., о чем вы сейчас говорите? Обновите теги соответственно - либо с помощью MySQL, либо с помощью 'sql-server' - спасибо! –

ответ

1

Существует способ выполнить свою работу путем расписания с интерфейсом командной строки DBF Commander Pro. Используйте следующую команду в * .bat файле:

dbfcommander.exe -edb <dbf_file_name> <server_table_name> <connection_string> 

После этого создайте ГРАФИК для этого файла БАТ с помощью Windows Sheduler. Единственная проблема остается, что вам нужно очистить таблицу назначения базы данных MySQL до процесса экспорта.

Чтобы попробовать процесс экспорта в графическом интерфейсе приложения, нажмите «Файл -> Экспорт в СУБД». В появившемся окне нажмите кнопку Построить, чтобы построить строку подключения: выберите MS OLEDB Provider для сервера MySQL, а затем выберите сервер из списка, введите логин и пароль, выберите базу данных, нажмите кнопку OK: enter image description here

В в окне «Экспорт в СУБД» выберите целевую таблицу, в которую вы хотите импортировать исходный DBF-файл, затем нажмите «Экспорт». Необходимую вам командную строку вы можете найти в нижней части окна.

Подробнее об импорте и экспорте DBF в базу данных вы можете найти here. Подробное использование командной строки - here.

0

Как вы упомянули о выполнении в PHP. Что мешает вам делать это там.

Вы можете создать один дескриптор соединения с помощью поставщика VFPOleDB, чтобы открыть местоположение пути в таблице, открыть и прочитать таблицу.Затем запустите SECOND соединение с вашей базой данных MySQL и готовте туда данные.

Затем для каждой строки, считанной из набора результатов VFP OleDB, выполните любые специальные очищения, которые вам нужны.

Затем запрос из соединения MySQL, если его существующая запись или нет, и если требуется добавить или обновить, затем отправьте данные соответственно.

Продолжение для остальных записей из набора результатов VFP.

Нет необходимости открывать в Excel, сохранить в формате CSV, загрузите еще один инструмент, и т.д ...