2011-12-01 105 views
1

我必須使用JSP/Servlet將CSV文件中的數據導入到MySQL數據庫中。在搜索時我得到了this link!據說我們可以在hibernate的createSQLQuery中使用MySQL命令「LOAD DATA INFILE ...」。如何將CSV文件中的數據導入到MySQL數據庫

但在我的情況下,我需要上傳的數據表中分佈的多個數據庫服務器上。我會得到一個API,通過它我可以連接到數據庫。

我的查詢是,我應該保存CSV文件 - 在我的Tomcat服務器或者我會在哪裏執行系統「LOAD DATA INFILE ...」命令上。

+0

要將某個問題的回答,只是設置一個公認的答案,不喜歡,你會在一個老式的論壇做題把「解決」。這沒有意義。堆棧溢出是一個問題和答案網站已經。已接受答案的問題在列表中已經有所不同,可以通過「accepted:1」進行搜索。 – BalusC

回答

1

CSV文件應保存在運行MySQL數據庫的服務器上。還應設置訪問權限,允許運行MySQL服務器的用戶訪問此文件。

您也可能會發現article on LOAD DATA INFILE from MySQL docs有用。

+0

感謝您的快速回復。但是我只會獲得與該數據庫的連接。我沒有權限保存該系統上的文件。有沒有辦法直接將CSV數據加載到MySQL數據庫中? – Natraj

+0

不幸的是,沒有(至少,不是我所知道的)。您必須在客戶端上解析CSV或編寫一個存儲過程,以便在數據庫級別解析傳入文本。我建議在客戶端解析,MySQL服務器似乎不是非常快速和/或有效的字符串操作。如果有人知道另一種方式,我很樂意學習它。 –

+0

更新:MySQL文檔說可能在LOAD DATA後指定LOCAL關鍵字 - 它將強制客戶端從客戶端文件系統讀取文件,並將其傳遞給服務器(它將保存在服務器/ tmp或其他臨時目錄中)以及通過使用通常的'LOAD DATA'語句來讀取。所以你應該做'LOAD DATA LOCAL INFILE'file_name'INTO ...' –

相關問題