LOAD DATA INFILE을 sotred 프로 시저로 사용하려고 시도했지만 완료 할 수없는 것처럼 보입니다. 그 때 나는 그렇게 같은 응용 프로그램 자체에 코드를 삽입의 일반적인 방법, 변수 쿼리는 문자열에 저장됩니다변수가있는 LOAD DATA INFILE
conn = new MySqlConnection(connStr);
conn.Open();
MySqlCommand cmd = new MySqlCommand();
cmd = conn.CreateCommand();
string tableName = getTableName(serverName);
string query = "LOAD DATA INFILE '" + fileName + "'INTO TABLE "+ tableName +" FIELDS TERMINATED BY '"+colSep+"' ENCLOSED BY '"+colEncap+"' ESCAPED BY '"+colEncap+"'LINES TERMINATED BY '"+colNewLine+"' ("+colUpFormat+");";
cmd.CommandText = query;
cmd.ExecuteNonQuery();
conn.Close();
생성 된 쿼리,
LOAD DATA INFILE 'data_file.csv'INTO TABLE tbl_shadowserver_bot_geo FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '"'LINES TERMINATED BY '\n' (timestamp,ip,port,asn,@dummy,@dummy,@dummy,@dummy,@dummy,@dummy,url,agent,@dummy,@dummy,@dummy,@dummy,@dummy,@dummy,@dummy,@dummy,@dummy,@dummy,@dummy);
을 시도하지만 지금은 프로그램을 실행할 때 프로그램은 내가이 문제를 얻는 방법을 잘 모릅니다 오류 말,
MySQLException(0x80004005) Parameter @dummy must be defined first.
을 제공하지만, 내가 MySQL을 동일한 쿼리를 사용할 때 자체가 바로 그것을 잘 작동합니다. 그것은이다,
나도이 문제가 발생
좀 SPAC가 발견 주셔서 감사합니다 값을 @parameter 사용할 수 있도록 연결 문자열에서이 조건
설정 당신의 쿼리 (.csv'INTO)와 (ESCAPED BY ' "'LINES)에 빠져 있습니다. 원래 검색어의 대소 문자인지 아니면 잘못 입력했는지 확인하십시오. – Nin
안녕하세요, 답장을 보내 주셔서 감사합니다. 문제는 아니 었습니다. :) 해결책을 찾았습니다 –