关于 未在本地计算机上注册“VFPOLEDB.1” 的解决方案
在很古老的时候猿们会使用 Microsoft Visual FoxPro(即Dbf)的数据库,用于对数据的存储,和Access类似,而且两者可以互转,可以把它当成数据文件,如Access数据(MDB)、Excel数据(XLS)、文本数据(TXT)、Xbase数据(DBF)等格式。
可以使用OleDbConnection、OdbcConnection 等,去读取Dbf文件。内容的读取操作和Access的处理方式相同,支持Sql语句的查询,此dbf可以使用Excel打开查询,由于VF盛行时 为V6.0 现在V9.X 为了更好的查询数据想大家推荐一个DBF管理工具 DBF Viewer 2000 现在V 5.X。
在我们使用VS 20XX读取操作DBF的时候呢,有时候会遇到 未在本地计算机上注册“VFPOLEDB.1”的程序,这个和人品无关,但和项目计划有关,关它有关无关哦 直接看解决方案
1.先要安装VF的驱动程序(VFPOLEDBSetup.msi 可在微软下载)。
2.分情况使用
1)若是C# 桌面应用程序的话(指看得见界面的程序),一般安装了第一步 就基本正常了,若不正常 人品爆弱。
可以使用以下方式读取
FileInfo fi = new FileInfo(dbfpath);
string mulu = fi.DirectoryName;
string filename = fi.Name;
OleDbConnection conn = new OleDbConnection();
string connStr = @"Driver={Microsoft Visual FoxPro Driver};Provider=VFPOLEDB;Data Source=" + mulu + ";Collating Sequence=machine;";
conn.ConnectionString = connStr;
conn.Open();
string sql = String.Format(@"select * from TableName");
OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
2)若是使用1)将程序写入Windows 服务中,则此错误 未在本地计算机上注册“VFPOLEDB.1” 的程序 仍然会出现,找不到VFPOLEDB的驱动, 注册VFPOLEDB.DLL 仍然不行,那么怎么办呢?使用以下方式读取即可
FileInfo fi = new FileInfo(dbfpath);
string mulu = fi.DirectoryName;
string filename = fi.Name;
System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection();
string connStr = @"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + mulu + ";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO";
conn.ConnectionString = connStr;
conn.Open();
string sql = String.Format(@"select * from TableName");
System.Data.Odbc.OdbcDataAdapter da = new System.Data.Odbc.OdbcDataAdapter(sql, conn);
经验证 上述方法可以解决“未在本地计算机上注册“VFPOLEDB.1”的程序” ,若是不能解决请自行验证!
相关工具信息:1) Microsoft Visual Studio 2003 + VFPOLEDBSetup 9.0 (Net 1.1 SP1)
关于 未在本地计算机上注册“VFPOLEDB.1” 的解决方案的更多相关文章
- 也来说说关于未在本地计算机上注册“VFPOLEDB.1”的程序的解决方法
大家都知道VFP是一个非常古老的数据库.但是,还有一些单位用到这些数据库. 前段时间,也做了一个关于DBF数据导出的功能的测试.程序以前有同事写好了,但当我进行修改调试的时候,问题就出来了. 调试的时 ...
- asp.net导出dbf报错“未在本地计算机上注册“VFPOLEDB”提供程序。”
导出dbf文件报错,提示“未在本地计算机上注册“VFPOLEDB”提供程序.” 可以尝试一下方法: 方法一:下载VFPOLEDBSetup.msi 安装 如果方法一不行:继续方法二:下载vfp9.0 ...
- 未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序。解决办法
在64位服务器系统上,默认不支持Microsoft.Jet.OLEDB.4.0的驱动程序,系统默认会提示未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"的错误 ...
- 对路径的访问被拒绝,解决之后又报-未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。
服务器环境:Server 2008 64位系统 问题:在导入Excel题录表时报错,1对路径的访问被拒绝,2未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序. 解决方案 ...
- 关于C#联接数据库是出现'未在本地计算机上注册'错误的解决办法
今天在用c#连接access数据库处理数据的时候遇到了一个诡异的问题, 未在本地计算机上注册"Microsoft.ACE.OLEDB.12.0"提供程序 我们的部分代码如下: st ...
- 解决方法:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序
在Windows Server 2008 x64 上部署一个Vs 2008开发的.net2.0 的asp.net web 程序,调用了office的组件来导入导出excel文件,其中托管管道模式为集成 ...
- .NET读取Excel数据,提示错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序
解决.NET读取Excel数据时,提示错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序的操作: 1. 检查本机是否安装Office Access,如果未安装去去h ...
- 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序
这种错误的可能性有几种,比如: 1.没有安装数据访问组件,需要安装相应版本的数据访问组件: 2.没有安装相应版本的Office客户端,需要安装相应版本的Office客户端: 3.Microsoft.J ...
- 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序 解决方法
最近在搞asp.net.今天在做数据库操作的时候,老发生错误,还以为是自己代码有问题,检查了好久都发现错误. 错误提示: 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程 ...
随机推荐
- centos7上安装redis
关闭防火墙:systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启 ...
- 《垃圾回收的算法与实现》——GC复制算法
基本概念 GC复制算法将堆分成From和To两个内存块,当From被占满时GC将From中的存活对象复制到To中,同时将From和To交换. 通过递归遍历GC root(即采用深度优先)复制存活对象, ...
- git工具,conflict冲突解决方法
这篇文章需要对git具有一定的了解,并且知道如何安装git工具(其实就是上git官网下载个文件,安装) git这种版本控制工具有什么好处 第一个,方便可以多人协同开发同一个项目或系统 第二个,当你系统 ...
- facebook 摘要生成阅读笔记(二) Abstractive Sentence Summarization with Attentive Recurrent Neural Networks
整体流程与第一篇差不多,只是在encoder和decoder加入了RNN Encoder: 1. ai=xi+li ai=词向量+词在序列中的位置信息(相当于一个权重,[M, 1]) 流程: 先是CN ...
- [笔记] Python字符串
1.字符串是以单引号'或双引号"括起来的任意文本 比如'Mifen',"Amd794",'-956-$*'等等.注意:不能单双引号组合,涉及字符串中存在单双引号出现,应用 ...
- ANTLR4权威指南 - 第6章 尝试一些实际中的语法
第6章 尝试一些实际中的语法 在前一章,我们学习了通用词法结构和语法结构,并学习了如何用ANTLR的语法来表述这些结构.现在,是时候把我们学到的这些用来构建一些现实世界中的语法了.我们的主要目标是,怎 ...
- DES对 json 、http参数加密解密算法
网上众多大神们的众多方式实现加解密操作及保障数据安全性.今天无意中发现一篇以 DES加密解密算法.摘抄如下 工具类: import java.security.SecureRandom; import ...
- CentOS探索之路2---使用rpm安装JDK
使用rpm安装jdk 在前一Linux探索文章中http://www.cnblogs.com/Kidezyq/p/8782728.html,有关于通过yum指令安装原生OpenJDK的命令.当时有 ...
- JavaScript 作用域(Scope)详解
先对需要用到的名词解释一下,再通过例子深入理解 一.什么是作用域(Scope) [[scope]]:每个javascript函数都是一个对象,对象中有些属性我们可以访问,但有些不可以,这些属性仅供ja ...
- C#语法之泛型
前面两篇C#语法主要是回顾委托相关的.这篇主要回顾了泛型. 一.为什么要有泛型? 我们在写一些方法时可能会方法名相同,参数类型不同的方法,这种叫做重载.如果只是因为参数类型不同里面做的业务逻辑都是相同 ...