I use SqlClient.SqlBulkCopyto try to load a copy of the csv file into the database. I get the following error after calling ..WriteToServer.
"This String value from the data source cannot be converted to the decimal type of the specified target Column."
Here is my code
dt.Columns.Add("IsDeleted", typeof(byte));
dt.Columns.Add(new DataColumn("CreatedDate", typeof(DateTime)));
foreach (DataRow dr in dt.Rows)
{
if (dr["MobileNo2"] == "" && dr["DriverName2"] == "")
{
dr["MobileNo2"] = null;
dr["DriverName2"] = "";
}
dr["IsDeleted"] = Convert.ToByte(0);
dr["CreatedDate"] = Convert.ToDateTime(System.DateTime.Now.ToString());
}
string connectionString = System.Configuration.ConfigurationManager.
ConnectionStrings["connectionString"].ConnectionString;
SqlBulkCopy sbc = new SqlBulkCopy(connectionString);
sbc.DestinationTableName = "DailySchedule";
sbc.ColumnMappings.Add("WirelessId", "WirelessId");
sbc.ColumnMappings.Add("RegNo", "RegNo");
sbc.ColumnMappings.Add("DriverName1", "DriverName1");
sbc.ColumnMappings.Add("MobileNo1", "MobileNo1");
sbc.ColumnMappings.Add("DriverName2", "DriverName2");
sbc.ColumnMappings.Add("MobileNo2", "MobileNo2");
sbc.ColumnMappings.Add("IsDeleted", "IsDeleted");
sbc.ColumnMappings.Add("CreatedDate", "CreatedDate");
sbc.WriteToServer(dt);
sbc.Close();
Error starting under Visual Studio development server, but this leads to an error when working under iis .....
Here is my sql server table,
[Id] [int] IDENTITY(1,1) NOT NULL,
[WirelessId] [int] NULL,
[RegNo] [nvarchar](50) NULL,
[DriverName1] [nvarchar](50) NULL,
[MobileNo1] [numeric](18, 0) NULL,
[DriverName2] [nvarchar](50) NULL,
[MobileNo2] [numeric](18, 0) NULL,
[IsDeleted] [tinyint] NULL,
[CreatedDate] [datetime] NULL,
source
share