【问题标题】:import database dump to mysql using visual foxpro使用visual foxpro将数据库转储导入mysql
【发布时间】:2011-07-19 19:03:42
【问题描述】:

我使用叶子 stru2mysql.prg 和 vfp2mysql_upload.prg 从 DBF 创建一个 .sql 转储文件。我使用 ODBC 从 vfp 连接到 mysql 数据库。我知道如何上传 sql 转储文件,但我需要自动化整个过程,即在创建转储文件后,我的可视 foxpro 程序可以在没有第三方的情况下上传转储文件(自动)。我想过使用源命令,但需要在 mysql 提示符下运行。这里的假设是我的最终用户不知道如何导入(其中大多数人不知道)。请建议我如何自动导入 sql 文件到mysql数据库。谢谢

【问题讨论】:

    标签: mysql visual-foxpro


    【解决方案1】:

    我认为您正在寻找的是 Foxpro 中的各种 SQL* 函数。请参阅 SQLCONNECT(或 SQLSTRINGCONNECT)、SQLEXECSQLDISCONNECT 函数上的 VFP 帮助或 MSDN 以帮助您入门。 Microsoft 在文档中提供了很好的示例。

    您可能还想使用FILETOSTR 将Leafe 程序的输出转换为SQLEXEC 函数的字符串。

    【讨论】:

      【解决方案2】:

      以下是我从 Visual FoxPro 数据库获取数据并上传到 MySql 数据库的步骤。这些都被放入表单上的自定义方法中,该方法由命令按钮触发。例如,方法是“uploadnewdata”,我为我需要的任何数据表传递参数

      1) 连接到服务器 - 我使用 MySql ODBC 2)验证用户(这使用 SQLEXEC 为用户表提取正确的匹配记录 IF M.WorkingDatabase-1 nRetVal=SQLEXEC(m.WorkingDatabase,"SELECT * FROM users", "csrUsersOnServer")

      SELECT csrUsersOnServer
      SELECT userid,FROM csrUsersOnServer;
      WHERE ALLTRIM(UPPER(userid))=ALLTRIM(UPPER(lcRanchUser));
       AND ALLTRIM(UPPER(lcPassWord))=ALLTRIM(UPPER(lchPassWord));
      INTO CURSOR ValidUsers
      IF _TALLY>=1
           ELSE
      =MESSAGEBOX("Your Premise ID Does Not Match Any Records On The Server","System Message")
      RETURN 0
      ENDIF
      ELSE
      =MESSAGEBOX("Unable To Connect To Your Database", "System Message")
      RETURN 0
      ENDIF
      

      3)一旦成功,我将创建我的基本光标(这是我发送的那个) 4)然后我循环遍历该游标,为字段中的值创建变量 5)然后使用SQLEXEC和INSERT INTO,我更新每条记录 6) 一旦程序完成对光标的处理,它会生成一个带有“已完成”消息的消息框,并且控制返回到窗体。

      用户所要做的就是选择起始表并输入他们的登录信息

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-05-01
        • 2011-07-22
        • 1970-01-01
        • 1970-01-01
        • 2016-08-21
        • 1970-01-01
        相关资源
        最近更新 更多