Исходный компонент OData в зависании служб SSIS
Я использую SSIS и хотел бы получить общедоступные данные NADAC с этой страницы, используя соединение OData: https://data.medicaid.gov/Drug-Pricing-and-Payment/NADAC-National-Average-Drug-Acquisition-Cost-/a4y5-998d.
Вы можете найти конечную точку OData на их странице, щелкнув по эллипсу и выбрав Доступ к данным через OData. Конечная точка v4: https://data.medicaid.gov/api/odata/v4/a4y5-998d
В службах SSIS (Visual Studio 2015, версия 14.0.500.272 для SQL Server 2016) я могу создать диспетчер соединений источника OData с базовым URL-адресом: https://data.medicaid.gov/api/odata/v4/
Вы можете увидеть успешное тестовое соединение. Примечание. Если я укажу здесь полный URL-адрес конечной точки OData, он будет успешным, но затем не найдет коллекций для подключения на следующем шаге, поэтому я этого не делаю. (Сообщение "Невозможно загрузить коллекцию для соединения OData Source, причина: не удается открыть это соединение")
Также обратите внимание, что я использую "Аутентификацию Windows", но это общедоступный канал, и аутентификация не требуется. Кажется, не существует опции "анонимной аутентификации".
Следующий шаг - перетащить источник OData в мой поток данных и щелкнуть правой кнопкой мыши, чтобы отредактировать его. Когда я делаю это, я сначала выбираю менеджер соединений OData, который я только что создал. Он распознает соединение и отображает раскрывающийся список коллекций, к которым я могу подключиться.
Очевидно, я делаю что-то прямо до этого момента, так как он распознает доступные коллекции.
Однако могу ли я:
- Выберите любую коллекцию в списке
- Выберите коллекцию в списке, который я хочу (a4y5-998d)
- Переключитесь из коллекции в путь к ресурсу и вставьте нужный путь к ресурсу (a4y5-998d)
и затем нажмите "Предварительный просмотр..." или "Столбцы" или даже "ОК" - Visual Studio полностью не отвечает. На 20+ минут. Я должен использовать диспетчер задач, чтобы вылететь и попытаться снова. Если я оставлю его навсегда, я в конечном итоге получу предупреждение желтого цвета: компонент конвейера возвратил код ошибки HRESULT 0xC020801F из вызова метода.
Я также не добился успеха с конечной точкой подачи OData v2, которую предоставляет Medicaid ( https://data.medicaid.gov/OData.svc/a4y5-998d).
Мои два вопроса:
- Я делаю что-то явно неправильно? Возможно, я использую неправильный URL или неправильно что-то настраиваю?
- У вас возникла та же проблема, или вы можете заставить ее работать, используя шаги, которые я пробовал? Чтобы воссоздать, создайте новый пакет служб SSIS с компонентом потока данных и выполните мои действия.
Примечание. Я могу перенести данные с помощью Power BI (например), поэтому я не думаю, что с фидом что-то не так. Это просто SSIS, с которой я борюсь.
Заранее благодарю за любую помощь.
1 ответ
Это была визуальная ошибка студии. Я обновил SSDT 17.0 до SSDT 17.4 (SSIS версия 14.0.1000.169), и ошибка исчезла.