【问题标题】:.NET DBF Database connectivity issue.NET DBF 数据库连接问题
【发布时间】:2010-11-18 10:43:30
【问题描述】:

大家好,这里真的是把我的头撞在键盘上,任何信息或指向正确的方向都会很棒。

我有一组带有 .MDX 索引的 .DBF 文件。它们应该是 dBASE 版本 7,但我发现 Borland BDE 只能可靠地连接到 5.0。

我可以使用 IV 和 5.0 连接字符串进行连接,如下所示:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\IDS\PowerSell\MyData\;Extended Properties=dBASE 5.0;

我得到的架构与表的实际架构不同,我不得不运行尴尬的切碎查询,结果就是我遇到的问题:

  1. 在大多数列上都可以选择,但 某些列不起作用
  2. 如果我离开某些列则插入 否则我会出错
  3. 如果我不提供位置请更新 子句

是否有人对连接和使用带有 MDX 索引和 .NET 的 DBF 文件有任何见解?最有可能是 dBASE 7 文件?

谢谢,

【问题讨论】:

    标签: .net database-connection dbf dbase


    【解决方案1】:

    您是否尝试过 System.Data.Odbc 驱动程序(不是 OldeDb)?

    总之,小心点。我记得有 1 个产品(BDE 或 ODBC)撤回对 FoxPro 数据库的支持,说“更新未经认证”之类的。总而言之,那些“较新”的 DBF 格式通常不会带来任何乐趣,只是不兼容。您可能想要调查您拥有的版本/级别的 ODBC 驱动程序与您需要的驱动程序。

    如果可以,请导出数据并以另一种格式运行。

    【讨论】:

    • 我完全同意。在 FoxPro 出现后,Borland 的事情开始分崩离析(此后他们似乎不太关心 dBase)。除非旧系统需要它,否则摆脱“旧”格式是可行的方法。
    • 这些不是 FoxPro 数据库,这很奇怪。我从供应商那里得到的一点信息是它是 dBASE 7 Interbase,但经过研究,Interbase 似乎使用 .ibr 或类似的东西。我很困惑,因为他们在其他任何地方都使用 Firebird。我也在使用 oledb,而不是使用过时的 ODBC 驱动程序,尽管我已经尝试过它们以获得相同的结果。可悲的是,我只是尝试对我们用于销售人员的这个新“系统”进行转换过程,我无法将数据转换为新格式,尽管那将是理想的。移动我们的旧格式 -> 新格式。
    • Interbase/Firebird 是一个规范的客户端/服务器数据库,与 DBF 无关。而 FoxPro/dBase 7,都是 xBase,闻起来一样。
    • 这就是我的想法,这将是一些丑陋的黑客解决方案,我不期待它。我想知道尝试获得免费的 dBASE 6 库是否会取得更大的成功……我想值得一试。我提到 Firebird/Interbase 的唯一原因是产品的供应商(程序员,同样如此)告诉我的,哦,好吧。
    • 原来我们去了供应商,他们愿意为我在 CSV 中生成的文件实施导入。没有可靠的方法来访问 .NET 中的 dBASE 6+ 文件,多么令人失望。感谢您的帮助。
    【解决方案2】:

    Sybase 的 Advantage 数据库(ADS/Advantage 数据库服务器)应该可以很好地与 Foxpro 和早期的 dBase 文件一起使用,并且是当前支持的产品,作为 BDE(Borland 数据库引擎)的理想替代品,请查看 www. sybase.com/advantage

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-06
      • 2016-07-12
      • 2012-02-29
      • 2011-05-19
      相关资源
      最近更新 更多