1

ExcelのバルクをSQLに挿入しようとしています

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 は提案。

4

1 に答える 1

1

エラーはそれをすべて言います。

「float」タイプのターゲット列に「string/chars」をコピーしようとしています。

データベース テーブル「dbo.tblProcessStdHours」のターゲット列のデータ型を varchar に変更する必要があります。

于 2016-08-30T08:22:57.250 に答える