Iam пытается вставить большую часть первенствует в SQLSqlBulkCopy дает ошибку при преобразовании поплавка (asp.net C#)
sqlBulk.WriteToServer(dReader);
дает ошибку
Приведенное значение типа String, из источника данных не может быть преобразованный в тип float указанного целевого столбца.
Иам используя ниже код
System.Data.SqlClient.SqlConnection strConnection;
strConnection = new System.Data.SqlClient.SqlConnection("Data Source=L06DPSGCD0001;Initial Catalog=ProductionEfficiency;User ID=sample;Password=sample");
string path = ("C:\\Users\\s3802616\\Desktop\\" + (FileUpload1.FileName));
System.Diagnostics.Debug.WriteLine("C:\\Users\\s3802616\\Desktop\\" + (FileUpload1.FileName));
string excelConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=" + "\"" + "Excel 12.0;HDR=YES;" + "\"";
//Create Connection to Excel work book
OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);
//Create OleDbCommand to fetch data from Excel
OleDbCommand cmd = new OleDbCommand("Select [Model],[Process],[STD_Hours],[UOM],[Section] from [Sheet1$]", excelConnection);
//OleDbCommand cmd = new OleDbCommand("Select * from [Sheet1$]", excelConnection);
excelConnection.Open();
strConnection.Open();
OleDbDataReader dReader;
dReader = cmd.ExecuteReader();
SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection);
//Give your Destination table name
sqlBulk.DestinationTableName = "dbo.tblProcessStdHours";
sqlBulk.WriteToServer(dReader);
excelConnection.Close();
strConnection.Close();
lblStatus.Text = "Uploaded Successfully";
Pls Suggest.
Я также попробовал это, он дает {«Данное значение типа String из источника данных не может быть преобразовано в тип nvarchar указанного целевого столбца.»} –
попробуйте с varchar –
i меняем все на varchar по одному, наконец, он показывает «Получил недопустимую длину столбца от клиента bcp для colid 1.» Я думаю, это из-за Sl. который автоматически генерируется в sql. как сделать это в excel или мне нужно удалить «Sl» serial no from Sql. –