Я бы хотел использовать объемную копию sql для загрузки данных из файла *.xlsx
в базу данных. Но, я столкнулся с проблемой, когда размер файла превышает примерно 1 Мб. Когда я пытаюсь открыть OleDbConnection
я получаю сообщение об ошибкеНевозможно прочитать файл xlsx через OleDb размером более ~ 1mb
No error message available, result code: E_FAIL(0x80004005)
Кто-нибудь иметь представление о таком поведении?
P.S. Если размер файла меньше указанного выше, все работает так, как ожидалось.
string connString = connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0 Xml;";
// Create the connection object
OleDbConnection oledbConn = new OleDbConnection(connString);
// Open connection
oledbConn.Open();
// Create OleDbCommand object and select data from worksheet
OleDbCommand cmd = new OleDbCommand("SELECT * FROM [" + WorkSheetName + "$" + DataRange + "]", oledbConn);
OleDbDataReader dr = cmd.ExecuteReader();
string ProfDbBulkCopyConnString = ConfigurationManager.ConnectionStrings["DbBulkCopyConnString"].ToString();
SqlBulkCopy sb = new SqlBulkCopy(ProfDbBulkCopyConnString);
sb.ColumnMappings.Add("Status", "ActionStatus");
sb.ColumnMappings.Add("Process", "ProcessExec");
sb.DestinationTableName = "dba.Execute";
sb.WriteToServer(dr);
Возможно, исходный код, который вы используете для этого, может помочь ... И прочитайте [спросить], прежде чем задавать свой следующий вопрос. –
@ Chomel Вот оно. Надеюсь, ничего путать. – managerger
Теперь мы получаем больше информации! –