В настоящее время я работаю над приложением VB, которое ежедневно читает новый лист excel из сетевой папки и копирует данные в базу данных. Я застрял в ошибке при попытке сначала использовать метод fill() моего dataAdapter. Ошибка: «System.Data.OleDb.OleDbException (0x80040E09): невозможно обновить. База данных или объект доступны только для чтения». Вот фрагмент кода, в котором произошла ошибка (последняя строка):VB.Net System.Data.OleDb.OleDbException Объект только для чтения
Dim dt2 As DataTable
Dim myAdapter2 As Data.OleDb.OleDbDataAdapter
dt2 = New DataTable()
myAdapter2 = New Data.OleDb.OleDbDataAdapter(xls_sql, My.Settings.xlsfile)
myAdapter2.Fill(dt2)
Мой запрос является основным:
xls_sql = "SELECT * FROM [" & FN & "]"
и вот моя установка строки соединения:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\temp\;Extended Properties='text;HDR=Yes;FMT = Delimited'
Сотрудник предложил мне изменить свойства на
="Excel 8.0;HDR=Yes;IMEX=1";
_ "' Коллега предложил ... использовать IMEX = 1" _ вы пробовали это? Если да, и это сработало, не стоит сомневаться, если нет, упомяните об этом. Если вы еще не пробовали, попробуйте. –
О, да, извините, не набрал достаточно. Я попробовал и дал такую же ошибку –
Ваш файл находится в сети. И каталог, в котором он находится, может не иметь полных прав доступа из учетной записи пользователя, которая запускает код. Или сам файл доступен только для чтения –