SqlBulkCopy를 사용하여 Excel에서 첫 번째 행을 읽을 수 없습니다.

.net asp.net c# sqlbulkcopy

문제

다음 코드를 사용하여 Excel 파일을 SQL Server로 업데이트합니다. 코드가 작동하지만 첫 번째 행을 표에 삽입 할 수 없습니다.

OleDbConnection OleDb = new OleDbConnection(ConnectionString);
OleDbCommand OleDbCmm = new OleDbCommand(Query,OleDb);
OleDbDataReader OleDbdr;
OleDb.Open();

if (OleDb.State == ConnectionState.Open)
{
    OleDbdr = OleDbCmm.ExecuteReader();
    SqlBulkCopy BulkCopy = new SqlBulkCopy(ConfigurationManager.ConnectionStrings["connstring"].ToString());
    BulkCopy.DestinationTableName = "TempTable";

    if (OleDbdr.Read())
    {
       BulkCopy.WriteToServer(OleDbdr);
    }
 }

 OleDb.Close();

인기 답변

심지어 나는 아래처럼 Read () Method를 사용했기 때문에 같은 문제에 직면했다.

           while (dr.Read())
            {
                bulkcopy.WriteToServer(dr);
            }

위의 문제를 해결하려면 dr.Read () 메서드를 제거하고 while 루프는 조건 및 Read () 메서드없이 bulkcopy.WriteToServer (dr)를 사용합니다.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.