2012-06-22 42 views
0

我有一個應用程序接收SQLite數據庫來讀取一些數據並將其導出爲CSV。我試圖將其上傳到Google App Engine,但我遇到了一個巨大的問題,我認爲它無法使用GAE來執行此應用。從Java中的InputStream加載SQLite作爲ReadOnly

問題是因爲在GAE上我無法寫入FileSystem,我無法打開JDBC連接到SQLite文件,因此我無法讀取要轉換爲CSV的數據。我一直在尋找其他選擇,例如Google雲端存儲,但我不想在此應用程序上使用我的唯一「免費試用版」,實際上我不希望在此應用程序之後爲此付費。免費試用結束,所以這不是一個選項。

經過大量的研究,我唯一的猜測是,我可能直接從InputStream加載數據庫,因爲我從我用來獲取它的上傳表單中獲得它,但是,這是100%幸運的猜測,我一直沒有找到任何有關這種方法的在線,但我不想相信它不能用SQLite的任何現有的JDBC庫,我希望有人可以告訴我該怎麼做。

如果InputStream的做法是不可能的,但你知道一些其他的方式在GAE打開一個SQLite數據庫設置爲只讀,然後再處理它,隨意評論,以及...

如果有另一個選項如「不要使用JDBC,使用帶管道的套接字連接來打開與InputStream的連接」,我也想聽說,它不需要使用JDBC。

感謝

回答

1

簡短的答案是「它不能做」。至少不用現在的JDBC實現,並且實現一個可行的工作可能會非常困難,我去了SQLite用戶郵件列表,最後得出了結論。

你可以按照線程here,但之前你必須register郵寄名單,因爲是私人的。

+0

查看此https://stackoverflow.com/a/17595282/3755871的評論 – Anarkopsykotik

2

JDBC一般需要插座,所以它不會在GAE工作。

我想試試dump SQLite to CSV,將文件上傳到GAE,然後parse CSV contents並插入數據庫。

+0

謝謝,但這不是我的應用程序的期望行爲,我希望它是CSV「傾卸」的SQLite,並且只是按照「原樣」將CSV返回給用戶。 – hectorg87

+0

**「我有一個應用程序接收SQLite數據庫來讀取一些數據並將其導出爲CSV」** – hectorg87

+0

「JDBC通常需要套接字」不適用於SQLite,它需要本地庫。 –