Ошибка для сервиса, теперь при запуске, используя источник открытого запроса
Привет,
я разработал пакет, который интегрирует данные из источника service now в базу данных SQL.
Шаги ниже, которые я использовал для интеграции.
1. Скачал сервис теперь драйвер ODBC для 1.0.9 и установлена.
2.создал DSN для Service now source и использовал DatasourceName в качестве Link_Server.
3.создан связанный сервер с использованием имени источника данных.
4.Напишите инструкцию Open Query select для извлечения записей из источника.
но я получаю прерывистую ошибку при запуске пакета, иногда он работает успешно, а иногда терпит неудачу, но при повторной попытке он проходит.
В чем может быть проблема?
Ниже приведено сообщение об ошибке для справки.
[OLE DB Source [45]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E14. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80040E14 Description: "Cannot execute the query "SELECT ASMT_ASSESSMENT_INSTANCE.taken_on AS [SENT_DATE] , ASMT_ASSESSMENT_INSTANCE.dv_state AS [STATE] , ASMT_ASSESSMENT_INSTANCE.sys_created_by AS [SURVEY_CREATED] , INC.number AS [TICKET_NUMBER] , ASMT_ASSESSMENT_INSTANCE.[trigger_table] AS TICKET_TYPE , ASMT_ASSESSMENT_INSTANCE.[user] AS SURVEY_USER , ASMT_ASSESSMENT_INSTANCE.dv_metric_type AS SURVEY_TYPE , cast(INC.dv_location as varchar(4000)) AS LOCATION , cast(INC.dv_location as varchar(4000)) AS N_Owner_MSC ,'Test Company' AS COMPANY , 'SERVICE DESK' AS SURVEYCLASSIFICATION ,ASMT_ASSESSMENT_INSTANCE.due_date as [SCRUBDATE] , ASMT_ASSESSMENT_INSTANCE.sys_created_on as [SURVEYSTARTED] , ASMT_ASSESSMENT_INSTANCE.sys_created_on as [SURVEYINVITATIONDATE] , ASMT_ASSESSMENT_INSTANCE.NUMBER AS INSTANCEID FROM asmt_assessment_instance ASMT_ASSESSMENT_INSTANCE JOIN incident INC ON INC.sys_id=ASMT_ASSESSMENT_INSTANCE.trigger_id WHERE INC.number IS NOT NULL AND ASMT_ASSESSMENT_INSTANCE.sys_updated_on>='2018-10-22 14:47:31'" against OLE DB provider "MSDASQL" for linked server "Link_Server". ".
Что я уже пробовал:
Попытался изменить все свойства в консоли управления, такие как размер кучи Java, уменьшенный размер пакета, увеличенный тайм-аут и повторная попытка.
RedDk
Это не так плохо, как кажется (ошибка: код ошибки SSIS DTS_E_OLEDBERROR. Произошла ошибка OLE DB. Код ошибки: 0x80040E14.
Доступна запись OLE DB. Источник: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80040E14-это улов верхнего уровня "не удается выполнить запрос" (который следует ниже).
Таким образом, вы должны увидеть, существуют ли все эти объекты в целевой базе данных. Попробуйте использовать "SELECT * FROM sys.database" или любое другое количество подобных sys.[расширения] SDF или еще лучше поиск ключевых слов в BOL.
Поскольку вам удалось сделать вещь ODBC вне всего этого TSQL, где вы получаете сбой, я бы предположил, что добраться до хранилища данных можно каким-то другим способом, поэтому попробуйте и там. Что-то вроде MS Access позволит вам выполнять тесты на запущенных экземплярах SQL Server usg различных драйверов, включая ODBC.