【问题标题】:FoxPro ODBC Table not foundFoxPro ODBC 表未找到
【发布时间】:2017-11-07 16:19:34
【问题描述】:

我机器上的 FoxPro ODBC 只能连接到 ODBC 连接中的某些表。当我尝试连接到同一连接中的特定表时,我收到错误 [Microsoft][ODBC Visual FoxPro Driver]Not a table.(#123)。但是,我成功连接到其他表没有问题。我知道这些我无法连接的表没有损坏,因为我可以使用 Visual Fox Pro 查看其中的数据。

任何建议将不胜感激。

【问题讨论】:

    标签: odbc visual-foxpro foxpro


    【解决方案1】:

    首先我会使用 Visual FoxPro OLEDB 驱动程序而不是 ODBC。它速度更快,功能更全面。

    然后检查 TableValidate 设置是否影响它。要检查这一点,请备份数据,然后在 Visual FoxPro 中以独占方式打开表并在命令窗口中发出以下命令:

    append blank
    go bottom
    delete
    pack
    

    这将追加然后删除一条空白记录,从而强制重新计算标题计数器。然后通过连接试试。

    还可以尝试为 OLE DB 驱动程序关闭 tablevalidate,如下所示。

    在与 vfpoledb.dll 相同的位置创建一个名为 CONFIG.FPW 的文本文件,在 64 位计算机上,该文件位于“C:\Program Files (x86)\Common Files\System\Ole DB”中。

    在文本文件中放一行:

    TABLEVALIDATE=0

    然后重试。

    【讨论】:

    • 艾伦,感谢您的帮助。我完全遵循了这个过程,现在我收到一条错误消息,指出驱动程序无法将 .dbf 文件打开到表中。这是因为读/写锁吗?在尝试重新打开计算机时重新启动计算机后,我收到了 Not a table。错误 123 和我之前一样。
    【解决方案2】:

    首先:不要使用 ODBC 驱动程序,除非您的表兼容 VFP6 和更早版本。上次发布的 ODBC 驱动程序仅适用于 6 和更早版本。如果您仍需要使用 ODBC,请检查 Sybase ADS 驱动程序。它也兼容更高版本,本地模式是免费的。les

    第二:确保您尝试打开的表确实没有损坏(当标题信息被pne记录关闭时,通常不会发生表错误=您可以查看“不是表”条目的详细信息foxwikis。当您从 VFP 和通过 OLEDB 驱动程序检查时,您可能正在查看两个不同的文件。您可以指定完整路径以确保。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-18
      • 1970-01-01
      • 1970-01-01
      • 2013-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多