Я использую OleDbDataAdapter для чтения содержимого листа Excel в наборе данных. Лист Excel состоит из 20391 строк, набор данных считывает общее количество строк при его запуске на моем локальном компьютере, но при запуске кода на сервере IIS7.5 он считывает только ПЕРВЫЙ 12463!Заполнить DataSet от OleDbDataAdapter
Моя строка соединения:
switch (strFileType.Trim())
{
case ".xls":
connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strNewPath +
";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\"";
break;
case ".xlsx":
connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strNewPath +
";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\"";
break;
}
var query = "SELECT * FROM [" + excelSheets[0] + "]";
//Create the connection object
var conn = new OleDbConnection(connString);
//Open connection
if (conn.State == ConnectionState.Closed) conn.Open();
//Create the command object
var cmd = new OleDbCommand(query, conn);
var da = new OleDbDataAdapter(cmd);
var ds = new DataSet();
da.Fill(ds);
Есть ли способ разделить da.Fill результат в нескольких DataTables?
вы думаете, почему распространение данных в нескольких DataTables позволит решить проблему недостающих данных? Я предполагаю, что у вас есть другой файл excel на сервере. –
вы можете использовать 'try-catch', чтобы проверить, произошло ли что-то во время заполнения набора данных? – lexeRoy
@SteveWellens Я проверил файл на сервере и его же. Я забыл сказать, что он читает только ПЕРВЫЙ 12463. –