Microsoft Jet 数据库引擎打不开文件 ……它已经被别的用户以独占方式打开,或没有查看数据的权限

问题描述

语言C#,代码对一个文件的多个sheet进行分次读取,读到某个sheet(不确定)的时候就可能报异常,非必现,但是CI上发生概率比较大,程序只读取不写入。出错程序退出后,任务管理器中没有发现excel进程。excel文件为xls文件请大虾们帮忙看下可能原因有哪些,因为不是必现,也不能调试,找不到原因,代码大概如下,之前没有adp.dispose();后面加上还是报错:stringstrConn="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+excelFilePath+";ExtendedProperties="Excel8.0;HDR=YES;IMEX=1"";datatabledt=newdatatable();using(OleDbConnectionOleconn=newOleDbConnection(strConn)){strExcel="select*from[sheet1$]";OleDbDataAdapteradp=newOleDbDataAdapter(strExcel,Oleconn);adp.fill(dt);adp.dispose();}

解决方案

解决方案二:
你的xls文件已经被你用Excel打开了……
解决方案三:
引用1楼wjq的回复:

你的xls文件已经被你用Excel打开了……

没有excel进程啊

时间: 2024-11-02 06:30:25

Microsoft Jet 数据库引擎打不开文件 ……它已经被别的用户以独占方式打开,或没有查看数据的权限的相关文章

为进行 ODBC 访问配置 Microsoft Jet 数据库引擎

odbc|访问|数据|数据库 为进行 ODBC 访问配置 Microsoft Jet 数据库引擎    以下各节描述 Microsoft Jet 数据库引擎用于连接 ODBC 数据库的 Microsoft Windows 注册表设置.   连接 ODBC 数据库的 Microsoft Jet 的初始化设置 \HKEY_LOCAL_MACHINE oftware\Microsoft\Jet\4.0\Engines\ODBC 文件夹包含 Microsoft Jet 数据库引擎的初始化设置. 注释  

vb相对链接-Microsoft Jet 数据库引擎找不到输入表或查询‘Student’。

问题描述 Microsoft Jet 数据库引擎找不到输入表或查询'Student'. Student是我建立的Access数据库名)这是怎么弄好该>? 解决方案 请详细说明你的操作过程,最好有截图.

C#OleDb读取dbf,文件名超过8位就报错:Microsoft Jet 数据库引擎找不到对象'123456789' 请确定对象是否存在

问题描述 stringconnStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\;ExtendedProperties=dBASEIV;UserID=Admin;Password=;";OleDbConnectionconn=newOleDbConnection(connStr);conn.Open();stringcmdText="select*from123456789";//123456789.dbf文件O

在此给大神跪了,在做一个导入Excel的模块,报的错Microsoft Jet 数据库引擎找不到对象'Sheet1$'。

问题描述 后代代码如下:privatevoidbutton3_Click(objectsender,EventArgse){string_strExcelFileName=@"D:example.xls";DataTabledtExcel=ExcelToDataTable(_strExcelFileName,"Sheet1");try{foreach(DataRowdrindtExcel.Rows){stringsql=string.Format("Ins

Dao与Jet数据库引擎

DAO可以访问本地数据库和远程数据库.这里指的本地和远程并不是地理位置上的概念,它们是两个逻辑概念.本地数据库可以在本地计算机(物理)上,也可以不在本地计算机上,而远程计算机也并不局限于远程计算机(物理)上. 本地数据库是通过文件系统访问的数据库,它可以放在本地计算机上,也可以放在网络上,它由应用程序直接操作.而远程数据库只能由DBMS操作,应用程序对它的访问通过DBMS来完成,这样就产生了Client/Server体系结构,应用程序是Client端,DBMS是Server端. Microsof

如何判断是否以独占方式打开当前数据库?

数据|数据库 如何判断是否以独占方式打开当前数据库?   问题: 如何判断是否以独占方式打开当前数据库? 在链接或者用ADO操作其他数据库时,如果被操作的数据库已经被某用户以独占方式打开,就会出错,如何预先判断该数据库是否已经被独占打开?   方法一: 很简单,只要判断 currentproject.connection.ConnectionString中是否包含以下字母Jet OLEDB:Database Locking Mode=0写一个函数就可以判断: Function testLockM

C#编程调试“报错Microsoft Jet 数据库库引擎打不开文件”

问题描述 C#编程调试"报错Microsoft Jet 数据库库引擎打不开文件" 5C 如题所示,用C#写了个程序,设计了一个从数据库中读取的表格,点一个按钮会下载成excel格式的文件,点按钮后报这个错误,系统是Windowsserver2003,数据库是oracle,office是2003的,之前在一个XP系统下调试没问题,后来在2003系统电脑上重新装了这些程序后就报错了,跪求大神们解答 解决方案 检查下是不是权限的问题,给你读写excel的文件夹分配everyone用户全部的权

以独占方式打开Access数据库

在默认情况下,Access 2000/2002数据库是以"共享"的方式打开的,这样可以保证多人能够同时使用同一个数据库.不过,在共享方式打开数据库的情况下,有些功能比如压缩和修复数据库是不可用的.此外,当系统管理员要对数据库进行维护时,也不希望他人打开数据库.以下的方法可以让你以独占的方式打开ACCESS数据库. 一.打开按钮法 1.在"文件"菜单中,单击"打开"命令. 2.单击需要的ACCESS数据库文件. 3.单击"打开"

Microsoft Access 数据库引擎找不到对象“Sheet1$”。

问题描述 麻烦各位大神解答下,文件及该Sheet1都存在,名字也一模一样,但还是提示找不到对象,另外我发现DataSource的文件名为相对路径,DataSource=uploadexcel.xls,是不是和这个有关系,以下是代码,请帮忙看下,是什么问题?应该如何改进?stringsConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;"+"DataSource="+uploadexcel.PostedFile.Fi