2012-09-20 40 views
2

嘗試加載一個CSV文件導入MySQL數據庫,我得到MySQL的致命錯誤時遇到試圖讀取結果集加載CSV文件

Fatal error encountered attempting to read the resultset. 

類似的問題在這裏提出四月份的運行時間。我沒有看到任何答覆,但希望其他人看到了這一點。 這裏是從調試器的命令:

"LOAD DATA LOCAL INFILE 'D:\\SANCentral\\Customer Files\\ibm\\70738\\0918\\Switch 
Port.csv' INTO TABLE By_Switch FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\\r\\n' IGNORE 1 LINES" 

下面是C#代碼:

string ConnectionString = String.Format(@"server={0};userid={1}; 
     password={2};database={3}", server, user, passwd, database); 
     MySqlConnection sqlconnect = new MySqlConnection(ConnectionString); 
     sqlconnect.Open(); 
     IEnumerable<FileInfo> files = this.InputFileListView.Items.Cast<FileInfo>(); 
     string commandstring = String.Format(@"LOAD DATA LOCAL INFILE '{0}' INTO TABLE {1} FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' IGNORE 1 LINES", 
               files.FirstOrDefault().ToString(), "By_Switch"); 
     MySqlCommand cmd = new MySqlCommand(commandstring,sqlconnect); 
     cmd.ExecuteNonQuery(); 

我已經驗證,在數據庫中的列名在輸入CSV文件相匹配的列名。

回答

2

所以我想通了。我使用MySQL Workbench來運行相同的加載命令。 MySQL更加描述了這些問題。首先,我在表格中的一列中有不正確的數據類型。接下來,顯然如果你說一行以\ n結尾,但以\ r \ n結尾則是一個問題。在這個文件中,它顯示了\ r \ n和\ n的混合。所以我想我必須在加載文件之前對行結束進行標準化。最後,一些實際的數據值丟失了,所以你可以在其中得到行。我不知道該怎麼做。

相關問題