首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能访问ODBC dBase表?

为什么我不能访问ODBC dBase表?
EN

Stack Overflow用户
提问于 2012-02-21 10:08:13
回答 2查看 3.4K关注 0票数 1

我继承了一些C#代码。它处理旧的dBase文件。至少有3-5年没有人接触到代码,编译后的版本在某些地方也能工作,但我无法访问它。现在,我已经尝试了如何在应该运行它的相同的环境(相同的体系结构,足够的外观驱动程序)上从源代码重新编译它,它给了我以下错误:

代码语言:javascript
复制
[42S02] [Microsoft][ODBC dBase driver] A Microsoft Jet database engine could not find the object 'test'. Make sure the object exists and that you spell its name and the path name correctly.

(编辑)在第二行

代码语言:javascript
复制
dbCommand.CommandText = "SELECT Count(*) FROM test";
recNum = (int)dbCommand.ExecuteScalar();

(编辑)与连接字符串

代码语言:javascript
复制
OdbcConnection connection = new OdbcConnection(String.Format("driver={{Microsoft dBase Driver (*.dbf)}};DriverID=533;Dbq={0};Exclusive=1;", path));

我尝试了在谷歌上找到的显而易见的解决方案,比如确保文件是否真的在那里,更改文件名等等。所以,我很确定文件应该在哪里,我很确定文件没有损坏(我可以用我从互联网下载的一些共享软件打开它,更不用说文件在过去3-5年里也没有变化)。这是我第一次使用dBase和ODBC,所以我可能会错过一些应该很明显的东西。

我还能做些什么呢?

EN

回答 2

Stack Overflow用户

发布于 2012-02-21 14:49:31

检查是否配置了ODBC数据源(开始>设置>控制面板> ODBC)。数据源的名称必须包含在连接对象的连接字符串中。表测试必须是配置数据源指向的数据库的表。

票数 0
EN

Stack Overflow用户

发布于 2012-02-23 18:21:06

很多人喜欢在旧的.dbf文件上使用Jet,但实际上它们可能不是dBASE,而是Foxpro (稍微不同的头信息)。实际上,您可能需要下载并使用VFP OleDB提供程序。

我有帮助显示/描述连接的answered previous questions,另外还有一个指向微软的链接,以获取/下载最新的Visual提供程序。

只是连接字符串上的一个便条。即使.dbf文件不是“数据库”的一部分,而是一个空闲表,您也希望连接到数据所在的物理路径,然后根据表的名称进行查询以获取数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9375608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档