Я пытался прочитать информацию из файла Excel и сохранить ее в SQL.
Когда я запускаю код локально, он работает отлично, но исключение выдается только в среде test .
Ошибка:
Произошла ошибка транспортного уровня при получении результатов с сервера. (провайдер: Session Provider, ошибка: 19 - физическое соединение не используется)
Мой код выглядит следующим образом:
public bool ExtractExcelToDB(int activityId, string tableName, string fileName)
{
try
{
var path = GetPath(activityId);
path = Path.Combine(path, fileName);
using (FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
using (IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream))
{
DataSet result = excelReader.AsDataSet();
DataTable dt = result.Tables["sheet"];
DataTable newDt = dt.Select().Skip(1).Take(dt.Rows.Count).CopyToDataTable();
using (SqlBulkCopy sqlBulk = new SqlBulkCopy(GetConnectionString()))
{
sqlBulk.DestinationTableName = tableName;
sqlBulk.WriteToServer(newDt);
}
}
return true;
}
}
}
Я записываю исключение в БД, и код не удалсяв этой строке:
sqlBulk.WriteToServer(newDt);
Моя строка подключения на сервере выглядит следующим образом:
<connectionStrings>
<add name="xxx"
connectionString="metadata=res://*/DataModel.csdl|res://*/DataModel.ssdl|res://*/DataModel.msl;provider=System.Data.SqlClient;provider connection string="data source=xxx;initial catalog=xxx;persist security info=True;user id=xxx;password=xxx;multipleactiveresultsets=True;application name=EntityFramework""
providerName="System.Data.EntityClient" />
</connectionStrings>
Я испробовал практически все решения, которые видел без успеха.
РЕДАКТИРОВАТЬ
Я могу сохранить файл с 50 строками, но не с 2000 .. (проблема только в тестовой среде, а не в локальной)