Мне нужно переместить данные из листа Excel в базу данных.Для этого я создаю ADODB Connection и могу выполнить такой запрос SQL: INSERT INTO myTable SELECT * FROM [Excel 12.0 Macro;HDR=Yes;Database=C:\MyPath\MyFile.xlsb].[Shee1$A1:C100]
Моя проблема заключается в том, что диапазон не может указывать дальше 255 столбцов, то есть столбца IU.Я хочу попробовать использовать именованный диапазон, но не могу найти подходящую запись.Все найденные примеры подключаются напрямую к книге и используют либо ссылку SELECT * FROM [Sheet1$]
, либо SELECT * FROM myRange
в качестве примера именованного диапазона.Я пробовал что-то вроде
[Excel 12.0 Macro;HDR=Yes;Database=C:\MyPath\MyFile.xlsb].[myRange]
[Excel 12.0 Macro;HDR=Yes;Database=C:\MyPath\MyFile.xlsb].[myRange$]
[Excel 12.0 Macro;HDR=Yes;Database=C:\MyPath\MyFile.xlsb].myRange
[Excel 12.0 Macro;HDR=Yes;Database=C:\MyPath\MyFile.xlsb;Name=myRange]
, но безуспешно.
Как правильно использовать именованный диапазон здесь?Поможет ли это даже обойти ограничение числа столбцов?
Я ожидал, что [Excel 12.0 Macro;HDR=Yes;Database=C:\MyPath\MyFile.xlsb].[myRange]
сработает, но выдает следующую ошибку: «Механизму базы данных Microsoft Access не удалось найти объект« myRange ».Убедитесь, что объект существует (...) '
Я могу обойти его, скопировав данные из исходного листа во временный, и разместив их в пределах 255 столбцов, но было бы здорово сделать это правильно.