0
我有一个电子表格,其中一列是IsActive,所有值都是1(Excel中的数字数据类型)。在SQL Server中,其插入的表具有IsActive的位数据类型。但是,我得到的错误,当试图插入的数据是从Excel电子表格中导入位类型到SQL Server中
The given value of type String from the data source cannot be converted to type bit of the specified target column.
有没有在Excel中的数据类型,这将是在SQL Server中的位兼容?
excelConnection.Open();
using (OleDbDataReader dReader = cmd.ExecuteReader())
{
using (SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection))
{
//Give your Destination table name
sqlBulk.DestinationTableName = "Medicine";
sqlBulk.WriteToServer(dReader);
}
}
编辑:这里的OLEDB命令
using (OleDbCommand cmd = new OleDbCommand("Select ...[IsActive]... from [Sheet1$]", excelConnection)
我显然不希望字符串IsActive要插入一个位列。
是否因为列名IsActive被选为字符串? –
我会这样想,试着明确地转换为位或布尔值。 – Anand