Как синхронизировать Visual Foxpro dbfs с MySql? - PullRequest
1 голос
/ 13 мая 2011

Я пытаюсь синхронизировать устаревшее приложение (которое хранит данные в VisualFoxpro dbfs) с MySql или SqlServer 2005. Это позволит нам видеть определенную информацию в Интернете.Мне нужна эта синхронизация не реже двух раз в день.

Кто-нибудь знает, как это сделать?

Заранее спасибо.

1 Ответ

1 голос
/ 28 июля 2011

Мне неизвестно о готовом программном обеспечении для этого, но было бы нетрудно использовать python , мой модуль dbf и один из MySQL пакетов.

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

Очень грубый пример:

import dbf
import MySQLdb

legacy_table = dbf.Table(r'\some\path\to\table.dbf')

connection = MySQLdb.connect(host='some_server', user='some_body', passwd='complexicate me!', db='the_db')
cursor = connection.cursor()

cusor.execute('command to recreate table') # yes, my SQL is weak  :(
                                           # other option is to use REPLACE below, and skip this step

for record in legacy_table:
    cursor.execute(
        'insert into table_name values (%s, %s, %s)',
        args=(record.name, record.age, record.comment)
        )

# for performance, executemany is better -- I _think_ this will work
cursor.executemany(
    'insert into table_name values (%s, %s, %s)',
    args = [(record.name, record.age, record.comment) for record in legacy_table])

Надеюсь, это поможет вам начать.Не стесняйтесь задавать больше вопросов.

...