ASP.NET MVC4 プロジェクトに取り組んでおり、SQL 一括コピーを使用して xlsx ファイル (Excel 2010 ファイル) からデータベースにデータをエクスポートしようとしています。私の Excel ファイルには 2 つの列しか含まれていません。最初の列には数字 (1 から 25 まで) が含まれ、2 番目の列には文字 (連続する一連の「a、b、c」) が含まれています。
これは、データをエクスポートするために私がやろうとしている方法ですが、「データ ソースからの String 型の指定された値は、指定されたターゲット列の int 型に変換できません」というエラーが表示されました 。
public ActionResult Bulk()
{
string xConnStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\maarab\Documents\BulkCopy.xlsx;Extended Properties=Excel 12.0;";
using (OleDbConnection connection = new OleDbConnection(xConnStr))
{
OleDbCommand command = new OleDbCommand("Select * FROM [Sheet1$]", connection);
connection.Open();
string dbConnection = ((EntityConnection)db.Connection).StoreConnection.ConnectionString;
// Create DbDataReader to Data Worksheet
using (DbDataReader dr = command.ExecuteReader())
{
using (var bulkCopy = new SqlBulkCopy(dbConnection))
{
bulkCopy.DestinationTableName = "bm_test"
bulkCopy.WriteToServer(dr); //here I got the error
}
}
return RedirectToAction("Index");
}
このエラーの原因について何か考えはありますか?