2012-05-29 37 views
0

我試圖將.csv文件導入到Web服務器中的SQL Server數據庫中。我在桌上有大約30000行。 csv文件中的分隔符是;。它插入了11202行,但之後沒有插入和說出;''錯誤附近的語法錯誤,沒有意義

'Farms'附近的語法不正確。 'Dale'附近語法不正確。 「城市」附近的語法錯誤 。 「中心」附近的語法錯誤。 「倉庫」附近的語法錯誤 。

這些行是;

111203;Greens Farms;12;446;nocity.jpg;NULL 
111205;Grosvenor Dale;12;446;nocity.jpg;NULL 
111219;Jewett City;12;446;nocity.jpg;NULL 
111230;Mansfield Center;12;446;nocity.jpg;NULL 
111231;Mansfield Depot;12;446;nocity.jpg;NULL 

我認爲這是有關城市名之間的空間(」「)一樣Green Farms但也有其有空格這麼多城市,他們在以前的行成功插入。我沒有任何意義。

你對這種情況有什麼想法嗎?

+3

需要查看您的查詢或查詢。 – BoltClock

+2

也許你在輸入的某個地方有一個引號,並且你正在做一些令人討厭的事情,比如將數據作爲字符串嵌入到查詢中。由於突然引用了額外的引號,引號不再包圍您的數據,而是包含您的SQL,並且您的數據被解釋爲無效的SQL,這會給您非常奇怪的錯誤消息。 –

+0

@BoltClock我不使用查詢,我不能因爲Web服務器不讓它。只需通過界面導入csv文件即可。 – Mtok

回答

2

我建議將您的csv分爲兩個文件。當然,第一個文件將包含成功導入的11202行,第二個文件包含剩餘的〜18798。

人們會期望第一個文件將被導入,沒有錯誤。

然後,當您導入第二個文件時,您可能會發現您正在處理某種邊界限制,如果該文件在10或11K導入後也開始轟炸。

或者,您可能會更快地發現導入較小的第二個文件的問題。

如果你仍然得到完全相同的錯誤,但只有有限的數字,那麼我建議完全刪除錯誤行並將它們放入另一個文件中。

以這種方式,您最終將導入幾乎所有的數據,並且您將剩下一個易於管理的子集,您可以再次輕鬆發現問題。

如果畢竟,你有10行給出了錯誤,你不能看到任何理由,只需使用SQL插入語句將它們放入你的數據庫。

希望這不是某個目標的一部分,以實現自動化定期預定過程!

我很想看看這是怎麼回事。謝謝。