2013-01-23 46 views
1

我問了兩個類似的問題:如何從流中讀取Access文件(.accdb)?

我所有的努力都已經已經從流中讀取Access文件(.ACCDB)。我試圖使用OLEDB和OpenXML SDK,但似乎他們都無法訪問一個流。

因此,沒有人知道這件事嗎?或者是否有任何其他解決方案從流中讀取Access文件?

+0

你爲什麼要重複你的問題? –

+0

@DanielKelley其他問題需要像OLEDB或OPENXML SDK這樣的解決方案,但是這個問題只是要求任何解決方案從內存讀取訪問文件,而不是任何API或庫。 – Saeid

+0

你不應該做雙重發布Saeid如果你需要你應該更新你的原始問題,或者在原始問題中添加額外的信息。 – MethodMan

回答

2

引擎蓋下Access數據庫很大程度上依賴於文件的使用。與內存數據庫(如SQLLite)不同,Access Db需要一個文件。因此,您必須使用OLEDB,OPENXML或通過對象模型來處理文件。

由於.NET 4流有可使用的碼流轉換爲臨時ACCDB文件CopyTo方法。

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

訪問其內容是如何打開Access數據庫與問題只有流,沒有文件(我認爲這是不可能的)。但是這個答案似乎完全不相關。 –

+1

@SimonMourier - 認真 - 我說過多少次不可能?編輯答案,刪除珍珠!!! –