ОБСУЖДЕНИЕ

Заменить представление во всем коде БД на представление из другой БД

11 ответов 5,9 тыс.
AI-выжимка обсуждения скоро
Статус
Закрыто для дальнейших ответов.
В базе было представление v_names. Во всех элементах базы в коде использовалось это название. Но теперь данные нужно брать из такого же представления, но другой базы. Можно ли как-нибуть авторизовать этот процес, чтобы открывать каждый элемент, вводить в поиск "v_names" и исправлять? Может можно какой-то утилитой вывести места, где встречается обращение к даному представлению?
 
Можно ли как-нибуть авторизовать этот процес
Авторизовать? Поосторожнее в терминологии :)

Можно в другой БД в представлении добавить еще алиас, тогда в коде не придется ничего менять.
Если представление имеет имя и алиас (View1Name|View1Alias1), то новый алиас следует добавить между ними (View1Name|View1Alias2|View1Alias1).
Если было только имя, то просто добавляем алиас.
 
azzzza
1. Можно "авторизировать" с помощью Teamstudio Configurator - это платно.
2. Можно вывести синопсис и поисследовать - это бесплатно.
3. Ещё можно выкинуть весь дизайн в DXL и поисследовать там - это надо немного покодить и бесплатно

Чуз йо дестини :)
 
Что касается поиска мест, то можно использовать database synopsis (это встроенный инструмент, см справку дизайнера). Или коммерческие, например, Teamstudio Configurator
 
>Но теперь данные нужно брать из такого же представления, но другой базы.
При чём тут исправление имени представления? Надо менять способ получения БД.
 
Неожиданный поворот событий :)
 
Omh, Akupaka
За подсказку в сторону database synopsis спасибо, упрастит задачу по нахождению v_names в коде.
kizarek, Zeka
Попробую поставить утилиты и попробовать.
При чём тут исправление имени представления? Надо менять способ получения БД.
Если Вы про название темы, то да, смысл был передан не правильно. :) Отредактировал тему.
Нужно поменять код примерно с такого:
Код:
Set db = session.CurrentDatabase	
Set view = db.GetView( "v_names")
На что-то такое:
Код:
Set db = session.CurrentDatabase	
Set db2 = ...
Set view = db2.GetView( "v_new_names")
 
неужели самый простой вариант (алиас виду дать) не подходит?
 
Akupaka
Ну так надо же вызов из другой базы сделать.
Тут алиасом делу не поможешь :unsure:
 
Статус
Закрыто для дальнейших ответов.

Статистика тем

Создано
azzzza,
Последний ответ от
Akupaka,
Ответы
11
Просмотры
5 867