【问题标题】:How can I read an Access file (.accdb) from a stream?如何从流中读取 Access 文件 (.accdb)?
【发布时间】:2013-01-06 17:04:05
【问题描述】:

我问了两个类似的问题:

我所有的尝试都是从流中读取 Access 文件 (.accdb)。我尝试使用 OLEDB 和 OpenXML SDK,但似乎它们都无法访问流。

那么,有人知道吗?还是有其他解决方案可以从流中读取 Access 文件?

【问题讨论】:

  • 你为什么要重复你的问题?
  • @DanielKelley 其他问题需要特定的解决方案,如 OLEDB 或 OPENXML SDK,但这个问题只是要求任何解决方案从内存而不是任何 API 或库中读取访问文件。
  • 如果您需要,您不应该重复发布 Saeid,您应该更新您的原始问题或在原始问题中添加其他信息..
  • @DJKRAZE 他要求针对一个问题使用 3 种不同的方法。所以这是 3 个不同的问题。
  • 他有另一个帖子 Le3jeb Saeid 知道我们在说什么 Le3jeb 你在聚会上迟到了..

标签: c# ms-access stream


【解决方案1】:

在后台访问数据库严重依赖文件使用。与 SQLLite 等内存数据库不同,Access Db 需要一个文件。因此,您必须使用 OLEDB、OPENXML 或通过对象模型来处理文件。

从 .Net 4. 开始,流有一个 CopyTo 方法,您可以使用该方法将流转换为临时 accdb 文件。

string tempFilePath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\temp.accdb";
using (var fileStream = File.Create(tempFilePath)
{
    accDbStream.InputStream.CopyTo(fileStream);
}

【讨论】:

  • 问题是如何打开一个只有流的访问数据库,根本没有文件(我认为这确实不可能)。但这个答案似乎完全无关紧要。
  • @SimonMourier - 说真的 - 我说了多少次这是不可能的?答案已编辑,珍珠已删除!!!
猜你喜欢
  • 1970-01-01
  • 2011-11-28
  • 1970-01-01
  • 1970-01-01
  • 2020-02-13
  • 2010-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多