尝试将CSV文件加载到MySQL数据库中,并获得运行时间
Fatal error encountered attempting to read the resultset.
4月份在这里提出了类似的问题。我没有看到任何回复,但希望别人看到这个。 这是来自调试器的命令:
"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文件中的列名相匹配。
答案 0 :(得分:2)
所以我明白了。我使用MySQL Workbench来运行相同的加载命令。 MySQL更能描述问题。首先,我在表中的列上有不正确的数据类型。接下来,显然如果你说一行以\ n结尾,但它以\ r \ n结尾,这是一个问题。在这个文件中,它出现了\ r \ n和\ n的混合。所以我想我必须在加载文件之前规范化行结尾。最后,缺少一些实际数据值,因此您可以获得包含其中的行。我不知道该怎么做。