Мое терпение заканчивается этой проблемой. Я запускаю задания через SSMS или агент, который работает отлично до последней недели, которые вставляют данные из таблиц/представлений в различные файлы Excel.SQL Server 2005 в Excel с OPENROWSET MSG 7399/7303
Совсем недавно рабочие места/код просто продолжают работать, хотя они никогда не заканчиваются ... эти задания занимают всего 15-25 секунд, но теперь они никогда не заканчиваются. Я проверил код ниже на новом листе, и он мгновенно проходит! Ошибка, которую я получаю, также не помогает, решения, которые я нашел в Google, не помогли или уже были установлены.
Любые идеи, что может привести к открытию экспорта, чтобы просто бомбить и не выполнять свою работу?
код я вообще бежать, который работает:
INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=YES;Database=C:\Automation\DYNAMIC\Output\File.xlsx;',
'SELECT * FROM [Data$]')
SELECT *
FROM [REPORTING].[dbo].[tbl_table]
Текущее сообщение об ошибке:
Msg 7399, уровень 16, состояние 1, строка 1
Поставщик OLE DB «Microsoft.ACE .OLEDB.12.0 "для связанного сервера" (null) "сообщила об ошибке. Провайдер не предоставил никакой информации об ошибке.
Msg 7303, Level 16, State 1, Line 1
Невозможно инициализировать объект источника данных поставщика OLE DB «Microsoft.ACE.OLEDB.12.0» для связанного сервера «(null)».
система:
- SQL Server 2005 32-разрядная версия на Windows XP 32-Bit
Обновлено/Edited информация:
Excel листы содержат либо функции на отдельную вкладку или диаграммы, экстраполирующую данные с вкладки [Данные $] (если это помогает)
Я создал новый лист и проверил мой вставки запроса, и она работала отлично
Исходный файл не был изначально создан на сервере, но вместо переданного через Share Drive (я не думаю, что это будет вопрос)
Любая помощь приветствуется!
Благодаря
Вы, возможно, сделали все это, но: 1. Есть ли имена файлов, которые не содержат пробелы? 2. Попробуйте переименовать неудачный файл, создайте «новый лист» с тем же путем и именем, что и сбой, и INSERT. Это работает? (Если это так, содержимое файла является вероятной проблемой.) 3. Работает ли это с явным списком имен столбцов, а не с SELECT *? 4. Если вы «Сохранить как ..» один из файлов Excel с невыполненным именем под новым именем, можете ли вы вставить в него? Открыли ли вы файлы Excel, которые вышли из строя, и проверили диапазон данных $ очень осторожно (затем, конечно же, закрыли его перед запросом)? 6. Работает ли SELECT с OPENROWSET? –
@Steve - Спасибо, что ответили. 1) Нет, у него есть символы подчеркивания для представления пробелов.2) Не работает 3) Нет 4) Нет и да 6) Нет, он просто исполняется навсегда. Тем не менее я создал совершенно новый test.xlsx с [Sheet1 $] в качестве адресата, вставил те же самые данные, которые мне нужны для другого листа, и он работал мгновенно! Я добавлю вышеупомянутый вопрос, но и место здесь - это имеет какое-то отношение ко мне, имея несколько вкладок с диаграммами в нем? У меня также есть проблема с другим файлом (другой каталог), который не имеет диаграмм, а только некоторые функции. Это точно работает раньше. Утеряно здесь – Darundo
Дополнительные угадывания. Чтобы убедиться, что SQL Server может даже «видеть» файл проблемы, возвращает ли это результат? выберите * from openrowset (BULK N'C: \ Automation \ DYNAMIC \ Output \ File.xlsx ', single_blob) как T Я все еще не понятен, что делает и не работает. К # 2 ранее вы сказали переименовать плохой файл и создать новый (но я не понял, с листом) и «файл») НЕ работает. Правильно ли (Если нет, можете ли вы прояснить, что не удалось в # 2 раньше)? a) Вы можете вставить в Sheet1 $ новый C: \ Automation \ DYNAMIC \ Output \ test.xlsx, но b) Вы не можете вставлять в новый файл с именем проблемы. –