sql >> データベース >  >> RDS >> Mysql

エラー:追加情報:外部テーブルが予期された形式ではありません

    例外のほかに、常に接続を閉じるようにしてください。いずれの場合も、次の方法で問題が解決する可能性があります。

    String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
        "Data Source=" + TextBox1.Text + ";" +
        "Extended Properties=Excel 8.0;";
    using (OleDbConnection excel_con = new OleDbConnection(connectionString ))
    {
        excel_con.Open();
    
        DataTable dtExcelData = new DataTable();
    
        //[OPTIONAL]: It is recommended as otherwise the data will be considered as String by default.
        dtExcelData.Columns.AddRange(new DataColumn[3] { new DataColumn("Id", typeof(int)),
                new DataColumn("Name", typeof(string)),
                new DataColumn("Password",typeof(string)) });
    
        using (OleDbDataAdapter oda = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", excel_con))
        {
            oda.Fill(dtExcelData);
        }
        excel_con.Close();
    
        string consString = MyConString;
        using (SqlConnection con = new SqlConnection(consString))
        {
            using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(con))
            {
                //Set the database table name
                sqlBulkCopy.DestinationTableName = "dbo.TableName";
                sqlBulkCopy.ColumnMappings.Add("Id", "Id");
                sqlBulkCopy.ColumnMappings.Add("Password", "Password");
                sqlBulkCopy.ColumnMappings.Add("Name", "Name");
                con.Open();
                sqlBulkCopy.WriteToServer(dtExcelData);
                con.Close();
                MessageBox.Show("Upload Successfull!");
            }
        }
    }
    

    列名が一致し、テーブル名も正しいことを確認する必要があります。

    これは、ここ




    1. サーバーにファイルを安全に保存する方法

    2. 私のDBAは病気です-SysAdminsのためのデータベースフェイルオーバーのヒント

    3. mysqli-非オブジェクトmysqliでのメンバー関数fetch_array()へのfetch_Arrayエラー呼び出し

    4. ManyToManyで変更されたクエリ