Tag: ms jet ace

ACE.OLEDB提供程序不正确地读取某些列名称

我正在使用ACE.OLEDB从C#应用程序读取excel文件。 到目前为止,一切都工作得很好,直到今天我发现列名之一被错误地读取。 这是我在我的Excel文件中 这是我的debugging器 基本上,由于某种原因,点(“。”)被replace为散列(“#”)。 代码很简单,大部分工作正常,不要认为问题出在那里,只是为了清楚起见而显示。 DataTable data = new DataTable(); string strAccessConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path.FullName + ";Extended Properties=\"Excel 12.0\";\"HDR=YES\";\"IMEX=1;\""; OleDbConnection myAccessConn = new OleDbConnection(strAccessConn); string strAccessSelect = "select * from [" + SheetName + "];"; OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect, myAccessConn); OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand); myDataAdapter.Fill(0, maxRows, data); 有什么我做错了还是在OLEDB中的错误?

Access数据库引擎32位安装失败

我正在尝试安装Access数据库引擎2007年32位。 启animation面出现,你点击“下一步”,然后失败,错误: “由于错误,安装过早结束” 你点击“确定”,另一个错误窗口说: “安装包失败了。” 当我使用Access数据库引擎** 2010 32位进行尝试时,情况完全相同 。 此生产服务器正在运行Windows Server 2008 R2 SP1 64位。 在我尝试安装Access数据库引擎32位之前,我首先需要安装Microsoft Office 2010 Pro( 仅适用于Excel和Office工具 )。 我在生产服务器上尝试了32位版本,因为这是我在开发环境中设置的。 没有运气。 32位版本不会安装。 我没有收到错误“您安装了Office的64位组件”。 我只是收到了上面列出的完全相同的两个错误。 因此,我知道32位/ 64位对于我的项目的Office安装无关紧要,所以我安装了64位Office Pro 2010(仅适用于Excel和Office工具),没有任何问题。 我有一个要求,我需要安装的32位版本的Access数据库引擎。 2007年或2010年,没关系。 我无法使用Access数据库引擎2010的64位版本,因为我的SSIS包不能使用它。 我需要32位版本。 我已经尝试了几个步骤来尝试安装它。 我认真地认为,生产服务器有一些厌恶安装32位应用程序。 以下是我所尝试的: 试图通过命令行安装“/ passive”开关….没有运气。 尝试了很多迭代,将安装文件复制到服务器(直接下载新的副本到服务器,下载一个新的副本到我的本地机器,然后复制它,复制压缩)(http://social.msdn.microsoft .COM /论坛/ EN-US / sqldataaccess /线程/ efd3c1f0-07cd-的45 Ca-a626-2dd0c7ac3e9f)。 尝试从此链接的方法1 http://answers.microsoft.com/en-us/windows/forum/windows_7-windows_programs/fatal-error-installation-ended-prematurely-because/cd963697-9d84-43d2-aa61-a2a97e51d6a0 。 无法尝试方法2,因为它需要重新启动服务器,而且在我的环境中需要很长的更改pipe理过程。 我已经validation我是服务器上的本地pipe理员。 (证据,我可以安装其他应用程序(办公室64位以上))。 validation有没有其他办公产品应该阻止安装。 […]

Excel中使用数据适配器更新.NET中的ACE超时

我遇到了将数据集中的数据写入Excel电子表格的超时问题。 这是我的连接string目前: <add key="ExcelConnectionStringHeader" value="Provider=Microsoft.ACE.OLEDB.12.0;Connect Timeout=30;Extended Properties=&quot;Excel 12.0;HDR=YES&quot;;Data Source="/> Connect Timeout属性似乎不被提供者支持。 Connection Timeout,Timeout,ConnectionTimeout,ConnectTimeout等都没有。我的代码创build了一个Data Adapter和InsertCommand,并从数据集中进行更新。 这很好,除非Update命令本身超过15秒,这是默认的OleDb超时。 这就是为什么我试图设置它在连接string。 我已经将CommandTimeout从30的默认值增加了,但这真的是无关紧要的。 以下是我的代码: OleDbDataAdapter da = new OleDbDataAdapter(szHeaderSelect, oCnn); // Ratings_Test — Loan_Test$A1:F1]", DataSet dsTest = new DataSet(); da.InsertCommand = new OleDbCommand(szNewSQL + "(" + szColumns + ") " + "VALUES ( " + szParams + ")", oCnn); da.InsertCommand.CommandTimeout = […]

Microsoft ACE OLEDB提供程序抛出无法find可安装的ISAMexception

我正在尝试使用64位进程读取Excel电子表格。 因此,我使用64位版本的Micorosft Access数据库引擎2010 。 下面的代码 var cs = @"Provider=Microsoft.ACE.OLEDB.12.0;" + @"Data Source=C:\test.xls;" + @"Extended Properties=""Excel 14.0;"""); con = new OleDbConnection(cs); con.Open(); 抛出一个例外: 找不到可安装的ISAM 使用谷歌,我发现了很多关于这个exception的问题。 但是他们提到JET,似乎不适用于我的问题。 任何build议?