2012-03-09 3 views
0

Мое терпение заканчивается этой проблемой. Я запускаю задания через 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 (я не думаю, что это будет вопрос)

Любая помощь приветствуется!

Благодаря

+0

Вы, возможно, сделали все это, но: 1. Есть ли имена файлов, которые не содержат пробелы? 2. Попробуйте переименовать неудачный файл, создайте «новый лист» с тем же путем и именем, что и сбой, и INSERT. Это работает? (Если это так, содержимое файла является вероятной проблемой.) 3. Работает ли это с явным списком имен столбцов, а не с SELECT *? 4. Если вы «Сохранить как ..» один из файлов Excel с невыполненным именем под новым именем, можете ли вы вставить в него? Открыли ли вы файлы Excel, которые вышли из строя, и проверили диапазон данных $ очень осторожно (затем, конечно же, закрыли его перед запросом)? 6. Работает ли SELECT с OPENROWSET? –

+0

@Steve - Спасибо, что ответили. 1) Нет, у него есть символы подчеркивания для представления пробелов.2) Не работает 3) Нет 4) Нет и да 6) Нет, он просто исполняется навсегда. Тем не менее я создал совершенно новый test.xlsx с [Sheet1 $] в качестве адресата, вставил те же самые данные, которые мне нужны для другого листа, и он работал мгновенно! Я добавлю вышеупомянутый вопрос, но и место здесь - это имеет какое-то отношение ко мне, имея несколько вкладок с диаграммами в нем? У меня также есть проблема с другим файлом (другой каталог), который не имеет диаграмм, а только некоторые функции. Это точно работает раньше. Утеряно здесь – Darundo

+0

Дополнительные угадывания. Чтобы убедиться, что 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) Вы не можете вставлять в новый файл с именем проблемы. –

ответ

0

Я имел такую ​​же проблему и то, что, казалось, чтобы исправить это было перезапуском SQLServer Service

Смежные вопросы