![]() |
1
8
这里有一个关于该做什么的讨论 about deprecated MDAC . 恐怕答案不是很令人满意…
|
![]() |
2
4
主要问题是JetDBMS是一个32位的库,它被加载到调用过程中,所以在64位模式下,您将永远无法直接从应用程序中使用Jet。正如蒂姆提到的,您可以编写自己的csv解析器,但是由于这是一个收缩包装应用程序,所以您需要能够处理更广泛格式的东西。幸运的是,有很多方法可以说32位应用程序,所以你仍然可以用一个技巧。 我会写一个被标记为只在32位模式下运行的小exe。这个exe将接受一个命令行参数,其中包含要读取的文件名和要写入的临时文件名。我将使用jet加载csv/xls,然后将数据放入数组中,并使用XML序列化程序将数据写入临时文件。 然后,当我需要加载/转换csv/xls文件时,我将执行以下操作:
|
![]() |
3
4
你可以试试 FileHelpers 用于平面文件分析的库。效果非常好。 |
![]() |
4
4
SpreadsheetGear for .NET 可以读写.csv/.xls/.xlsx工作簿(和 more )并支持64位.NET 2.0+。电子表格可以免费分发与收缩包装应用。 您没有指定您的应用程序是winforms还是asp.net,但spreadsheetgear可以与两者一起使用。您可以看到实时的ASP.NET(C&vb)示例 here ,了解WinForms示例 here 下载免费试用版 here 如果你想自己试试。 免责声明:我拥有SpreadsheetGear LLC |
![]() |
5
3
对于任何可能遇到此问题的人(对我自己来说,如果我将来遇到同样的问题,并且不记得解决方案),这是一篇信息性的帖子。 这有点晦涩,但给我带来了几个小时的压力,所以也许它能帮助别人…很抱歉,如果重复(找不到)或否决(有些没有最新和最棒的奢侈)。 如果您试图使用Jet 4.0访问基于x64的服务器上的MS Excel文档(或其他数据文件),您将发现不支持这种组合。 唯一的解决方案是允许IIS在Windows64上运行32位应用程序并安装受支持的DB提供程序。 您需要安装驱动程序,即作为网桥的用于ODBC(msdasql)的64位OLEDB提供程序: “用于ODBC的Microsoft OLE DB Provider(msdasql)是一种技术,它允许基于OLEDB和ADO(内部使用OLEDB)构建的应用程序通过ODBC驱动程序访问数据源。msdasql是一个连接到ODBC的OLEDB提供程序,而不是数据库。MSDASQL随Windows操作系统一起提供,Windows Server 2008和Windows Vista SP1是第一个包含64位版本技术的Windows版本。” 此处下载: http://www.microsoft.com/downloads/details.aspx?FamilyID=000364db-5e8b-44a8-b9be-ca44d18b059b&displaylang=en 这一切都很好,但我遇到了两件让我挠头(和压力)的事情: 1)您需要在IIS Web服务扩展中允许32位ASP.NET-读取 “ http://www.textcontrol.com/blog/permalink/2006082101 “ 有关启用32位应用程序和IIS Web服务扩展安装程序的说明。 2)如果使用的是IIS x64下的任何注册表项,则会在注册表中添加一个新节点-wow6432节点-需要将x64下使用的任何相关项移动/复制到该节点中。 例如,我们在hclm\software\customkey中存储了一个数据密钥,在启用32位时该密钥不再可用。我们在wow6432节点下重新创建了密钥,一切都很好。 |
![]() |
6
3
你可以使用 Microsoft Access Database Engine 2010 Redistributable 要读取和写入csv、xls访问等,每个驱动程序都有32位和64位版本。 |
![]() |
7
1
实际上,我认为Linq是解决这个问题的最佳方案。 比如……
你的getobjlist方法看起来像
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 8 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 8 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 8 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 8 月前 |