我问了两个类似的问题:
我的所有尝试都是从流中读取Access文件(.accdb)。我曾尝试使用OLEDB和OpenXML SDK,但似乎没有人能够访问流。
那么,有人知道吗?或者是否有任何其他解决方案从流中读取Access文件?
答案 0 :(得分:2)
引擎数据库Access数据库严重依赖文件使用。与内存数据库(如SQLLite)不同,Access Db需要一个文件。因此,您必须使用OLEDB,OPENXML或对象模型处理该文件。
由于.Net 4. Streams有一个CopyTo方法,您可以使用它将流转换为临时的accdb文件。
string tempFilePath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\temp.accdb";
using (var fileStream = File.Create(tempFilePath)
{
accDbStream.InputStream.CopyTo(fileStream);
}