【转】ADO.NET连接访问dbf数据库问题

简介: from:http://space.cnblogs.com/question/7423/    悬赏园豆:20 [已解决问题] 浏览: 2067次   我发现当dbf文件的长度超过8的时候,使用OleDbCommand 查询就会出现“jet 数据库引擎找不到对象”的错误,我搜索到(http://space.cnblogs.com/question/2046/)说解决了这个问题,方法是将表的名字加个中括号。
 
悬赏园豆:20 [已解决问题] 浏览: 2067次
 

我发现当dbf文件的长度超过8的时候,使用OleDbCommand 查询就会出现“jet 数据库引擎找不到对象”的错误,我搜索到(http://space.cnblogs.com/question/2046/)说解决了这个问题,方法是将表的名字加个中括号。但是我在尝试的时候这个方法似乎无效啊.

string mailto:filepath=@%22F:\shapefile\chzhXiaoqu.dbf";
string dir = System.IO.Path.GetDirectoryName(filepath);
string file = "["+ System.IO.Path.GetFileName(filepath)+"]";//加不加中括号都不行啊
string connStr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}; Extended Properties=DBASE 5.0;Persist Security Info=False", dir);
OleDbConnection conn = new OleDbConnection(connStr);
conn.Open();
string selectText = string.Format("SELECT * FROM {0}", file);

OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand(selectText, conn);
System.Data.DataTable table = new System.Data.DataTable();
adapter.Fill(table);//这行就出错了,怎么回事呢?

 

 


 


提问于:2009-06-08 22:18
其他回答(1)
0
 

string connStr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}; Extended Properties=DBASE 5.0;Persist Security Info=False", dir);

你看你这个格式化的连接字符串,参数为什么用dir?dir是目录名,不包括路径及文件名,对于你的程序来说,dir变量的值就是"shapefile",程序怎么可能找到数据库文件在哪?

把dir换为filepath应该就可以了,这里需要使用完整绝对路径才对。

 

还有你这句:string selectText = string.Format("SELECT * FROM {0}", file);

file是数据库的文件名,又不是数据库里的表名,在你的程序中file变量的值就是"chzhXiaoqu.dbf",你把它弄进查询语句干什么?要换成一个数据库内的表名啊。

 

dir和file变量都是无意义的,删除这两个变量吧。

回复 | 斯克迪亚 | 园豆:4880 (老鸟四级) | 2009-06-09 02:17 |
0
 

我也赞成楼上的

回复 | 陳修君 | 园豆:480 (菜鸟二级) | 2009-06-09 08:26
 
 
 

===================================================================

===================================================================

 

如果不清楚连接字符,查看这个网站:http://www.connectionstrings.com/  


Visual   FoxPro     OLE   DB,   OleDbConnection   (.NET)  


  Database   container   (.DBC):

"Provider=vfpoledb.1;Data   Source=C:\MyDbFolder\MyDbContainer.dbc;Collating   Sequence=machine "  


  Free   table   directory:

"Provider=vfpoledb.1;Data   Source=C:\MyDataDirectory\;Collating   Sequence=general "  


  Force   the   provider   to   use   an   ODBC   DSN:

" "Provider=vfpoledb.1;DSN=MyDSN " "  
Read   more   (Microsoft   msdn)   > >
  ODBC  


  Database   container   (.DBC):

"Driver={Microsoft   Visual   FoxPro   Driver};SourceType=DBC;SourceDB=c:\myvfpdb.dbc;Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO "  


  Free   Table   directory:

"Driver={Microsoft   Visual   FoxPro   Driver};SourceType=DBF;SourceDB=c:\myvfpdbfolder;Exclusive=No;Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO "  
"Collate=Machine "   is   the   default   setting,   for   other   settings   check   the   list   of   supported   collating   sequences   > >

 
 
 
 
目录
相关文章
|
1月前
|
SQL 数据库连接 数据库
你不知道ADo.Net中操作数据库的步骤【超详细整理】
你不知道ADo.Net中操作数据库的步骤【超详细整理】
16 0
|
1月前
|
SQL 关系型数据库 MySQL
2024年阿里云数据库创建_数据库账号密码和连接教程
阿里云数据库怎么使用?阿里云百科整理阿里云数据库从购买到使用全流程,阿里云支持MySQL、SQL Server、PostgreSQL和MariaDB等数据库引擎,阿里云数据库具有高可用、高容灾特性,阿里云提供数据库备份、恢复、迁移全套解决方案。详细阿里云数据库购买和使用流程方法如下
|
23天前
|
存储 NoSQL Java
Java数据库编程指南:实现高效数据存储与访问
【4月更文挑战第2天】Java开发者必须掌握数据库编程,尤其是JDBC,它是连接数据库的标准接口。使用Spring JDBC或JPA能简化操作。选择合适的JDBC驱动,如MySQL Connector/J,对性能至关重要。最佳实践包括事务管理、防SQL注入、优化索引和数据库设计。NoSQL数据库如MongoDB也日益重要,Java有对应的驱动支持。理解这些概念和技术是构建高效数据库应用的基础。
Java数据库编程指南:实现高效数据存储与访问
|
1月前
|
SQL 关系型数据库 MySQL
阿里云MySQL数据库价格、购买、创建账号密码和连接数据库教程
阿里云数据库使用指南:购买MySQL、SQL Server等RDS实例,选择配置和地区,完成支付。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码访问。同地域VPC内的ECS需将IP加入白名单以实现内网连接。参考链接提供详细步骤。
369 3
|
9天前
|
SQL 缓存 Java
Java数据库连接池:优化数据库访问性能
【4月更文挑战第16天】本文探讨了Java数据库连接池的重要性和优势,它能减少延迟、提高效率并增强系统的可伸缩性和稳定性。通过选择如Apache DBCP、C3P0或HikariCP等连接池技术,并进行正确配置和集成,开发者可以优化数据库访问性能。此外,批处理、缓存、索引优化和SQL调整也是提升性能的有效手段。掌握数据库连接池的使用是优化Java企业级应用的关键。
|
10天前
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第二章(Node连接本地数据库)
【4月更文挑战第2天】本文介绍了如何使用Node.js连接本地MySQL数据库。首先,提到了在MySQL官网下载安装数据库和使用Navicat for MySQL进行数据库管理。接着,通过`yarn add mysql`在项目中安装数据库依赖。然后,创建`app.js`文件,设置数据库连接参数,并建立连接进行查询操作。遇到导入模块的错误后,修改导入方式为CommonJS语法。
28 1
|
13天前
|
SQL 监控 关系型数据库
PG数据库释放闲置连接
PG数据库释放闲置连接
21 0
|
22天前
|
弹性计算 关系型数据库 MySQL
阿里云数据库服务器价格表,数据库创建、连接和使用教程
阿里云数据库使用流程包括购买和管理。选择所需数据库类型如MySQL,完成实名认证后购买,配置CPU、内存和存储。确保数据库地域与ECS相同以允许内网连接。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码连接。同一VPC内的ECS需添加至白名单以进行内网通信。参考官方文档进行详细操作。
125 3
|
23天前
|
网络协议 数据库连接 网络安全
DM数据库连接数据库时报:创建sokect连接失败
DM数据库连接数据库时报:创建sokect连接失败
13 0
|
1月前
|
SQL 安全 数据库连接
使用ADO.NET访问数据库
使用ADO.NET访问数据库
10 0

热门文章

最新文章