IErrorInfo.GetDescription не удалось с E_FAIL (0x80004005) при использовании хранилища Azure - PullRequest
0 голосов
/ 27 декабря 2018

Я загружаю Excel в хранилище Azure и хочу вставить данные в базу данных Microsoft Azure SQL.Однако я столкнулся с исключением, что IErrorInfo.GetDescription завершился с ошибкой E_FAIL (0x80004005).

Я установил Microsoft Access Database Engine 2010 на локальный компьютер.

        try
        {
            var isUploadSuccess = string.Empty;
            var extension = string.Empty;

            if (excelUpload != null)
            {
                extension = Path.GetExtension(excelUpload.FileName);
                string fileName = DateTime.UtcNow.ToString("ddMMyyyyHHmmssfff") + extension;

                isUploadSuccess = AzureStorageHelper.UploadBlob(fileName, excelUpload, excelContainer);
            }

            if (!string.IsNullOrEmpty(isUploadSuccess) && isUploadSuccess != "-1")
            {
                var excelFile = new ExcelQueryFactory(isUploadSuccess);
                var accountDetails = from a in excelFile.Worksheet<MerchantBankAccountViewModel>() select a;
                var successRecord = 0;

                foreach (var acc in accountDetails)
                {
                    var result = db.AddMerchantBankAccountFromExcel(acc.AccountNumber, acc.MerchantName, acc.AccountHolderName, acc.ContactNumber, acc.BankName, acc.SwiftCode, acc.Branch, "", acc.Province, acc.City, acc.Country, acc.Zipcode, acc.IsSettlement.ToString(), acc.Remark);

                    if (result.Success)
                        successRecord += 1;
                }

                TempData["Success"] = successRecord + "/" + accountDetails.Count();
                return RedirectToAction("Index");
            }

            return View();
        }
        catch (Exception ex)
        {
            TempData["Alert"] = ex.Message;
            return View();
        }

Я ожидаю успешной вставки данныхв превосходстве моей БД.Excel Input

...