Обновить DATA VIEWER без Delete и поставить еще один? - PullRequest
0 голосов
/ 14 октября 2019

После редактирования моего объединения все компоненты в моем средстве просмотра данных не обновляются и должны удалить и поместить еще один, чтобы показать, что отредактировано. Я не хочу удалять первый просмотрщик данных и помещать другой, потому что это плоходля большого проекта и занять время. Можно ли как-нибудь исправить эту ошибку?

Это первый шаг, который я использую DataViewer перед редактированием моего Union All.

This Is A First Step That I Use DataViewr Before Edite my Union ALl

Это послередактирование UNION ALL

This IS AFter editing the Union ALL [This is what I expect to see] Но я проверил его несколько раз и обнаружил, что если мы изменим имя Union All Component в процессе редактирования, все будет в порядкеи не нужно удалять средство просмотра данных.

Считаете ли вы, что существует проблема с средством просмотра данных или компонентом «Объединение всех»?

1 Ответ

1 голос
/ 15 октября 2019

Объединение Все преобразования являются асинхронным компонентом.

Это означает, что для каждой строки данных, которые в нее поступают, может быть выдано 0, 1 или много строк. Это также означает, что столбцы перед компонентом не имеют отношения к столбцам после него. Возможно, вы добавили EmployeeID в компонент и EmployeeID из него, но нет никакой гарантии, что это одна и та же сущность. За кулисами столбцам присваиваются идентификаторы, а имена - просто удобные для разработчиков концепции.

Поэтому, когда вы добавляете новый источник в источник, средство просмотра данных не будет "знать" об этом, потому что эти столбцы не являются "Т-карта выходит из союза всех. Когда вы переименовываете их в источнике, компонент Union All должен продолжать работать, но изменение имени не будет отправлено нижестоящим потребителям, потому что столбец 73, который имел понятное имя EmployeeID, теперь просто Employee в источникесистемы, но компоненты ниже по течению от Union All знают только о столбце 129, который их Employee. Поскольку средство просмотра данных находится ниже по потоку от асинхронного компонента, его необходимо «исправлять» всякий раз, когда вы вносите существенное изменение в поток данных.

В зависимости от показанного вами примера два запроса «объединяют все»Эд из того же экземпляра базы данных - не делай так. Асинхронные компоненты, помимо того, что вызывают все головные боли при разработке, о которых я говорил выше, не очень хорошо работают. Вместо этого напишите свой запрос с помощью Union All в компоненте OLE DB Source.

Если у вас есть причина для создания потока данных как такового, то обязательно сделайте это. Но если данные поступают из двух баз данных на одном и том же сервере, я не могу придумать вескую причину для того, чтобы начать подход, который вы начали.

...