Вот 3 варианта:
1. Выполните импорт с компьютера, на котором у вас есть права администратора
Похоже, у вас нет возможностиустановите поставщиков данных OLE или ODBC на компьютер с SQL Server.Но вам не нужно запускать импорт с той же машины.Если у вас есть действительные учетные данные и рабочий сетевой путь к вашему SQL-серверу, вы можете запускать импорт с любого компьютера.Таким образом, вы можете установить драйвер поставщика данных Microsoft ACE OLEDB 12.0 на другом ПК вместе с SQL Server Management Studio, скопировать туда файл Excel и затем выполнить импорт с помощью мастера.
Попробуйте альтернативный драйвер поставщика данных Существуют альтернативные драйверы поставщика данных для источников Excel, которые уже могут быть установлены в вашей среде.Например, драйвер Jet OLEDB 4.0, упомянутый в https://www.connectionstrings.com/excel/. Строка подключения:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;
Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";
Используйте формулы Excel для построения операторов INSERT Вы можете использовать почтенный трюк формулы Excel, на который ссылается в ответе RBell: Предполагая, что поля, указанные в вашем вопросе, находятся в A1через D1 добавьте эту формулу в ячейку E1:
="INSERT INTO #tblUserImport VALUES ('"&SUBSTITUTE(A1, "'", "''")&"', '"&SUBSTITUTE(B1, "'", "''")&"', '"&SUBSTITUTE(C1, "'", "''")&"', '"&SUBSTITUTE(D1, "'", "''")&"');"
Затем вы копируете эту формулу во все строки ваших данных.Excel автоматически изменит ссылки на ячейки для каждой строки.Обратите внимание, что функция SUBSTITUTE()
обрабатывает одинарные кавычки в данных, которые в противном случае могут нарушить синтаксис SQL.Затем вы просто копируете и вставляете полученный текст в окно SQL и запускаете его.