Текущий архив: 2015.12.27;
Скачать: CL | DM;
Вниз
Исключить поля из запроса. Найти похожие ветки
← →
sniknik © (2015-04-27 08:30) [40]> но так чтобы любимая звезда осталась?
Не не не, звезда не самоцель, не нужно сводить к этому.
Меня бы устроило и формирование запроса в самом запросе (как можно в MSSQL) например, т.е. в пакете команд собрал строку и выполнил через exec. И какая нибудь тайная команда инфирмикса которая наверняка есть "унутри", ведь как то он собирает список для *, не каждый раз кучу действий выполняет, скорее все сведено в функцию... а раз есть функция то у нее возможно есть параметры "на исключение".
Т.е. средства в принципе не важны, если они в запросе, на сервере, без привлечения "клиента", главное как то либо получить все кроме пары, либо перечислить все с указанием, что чего-то нет... то чего нет в условиях/обьединениях/... не участвует, группировок нет, условие на отбор да сложное но никоим боком "звездного" списка не касается.
← →
sniknik © (2015-04-27 08:32) [41]> с указанием, что чего-то нет
возможно нет.
← →
junglecat © (2015-04-27 09:53) [42]> либо перечислить все с указанием, что чего-то нет
видится единственный возможный вариант: сделать запрос к syscolumns, а потом слепить запрос из полученных полей.
← →
Inovet © (2015-04-27 10:56) [43]> [42] junglecat © (27.04.15 09:53)
> запрос к syscolumns
Это уже четвёртый раз предлагается или какой?
← →
junglecat © (2015-04-27 11:00) [44]> [43] Inovet © (27.04.15 10:56)
это только лишний раз подчеркивает, что других вариантов нет.
Ну кроме уже тоже многократно озвученных админских мер
← →
sniknik © (2015-04-27 11:24) [45]> это только лишний раз подчеркивает, что других вариантов нет.
На 98% был уверен, еще когда писал... но "а вдруг?".
Там вот еще
MsGuns © (26.04.15 15:05) [31]
MsGuns © (26.04.15 20:47) [33]
какую то хитрость хочет предложить...
Главное не стал бы городить пакета на составление строки динамического запроса "а ля MSSQL". Т.к. повторю, проходит единственная команда, вложенные селекты есть, но насколько сложные пройдут не знаю, нужно будет проверять.
С пакетами не понятно, через драйвер ошибка -
[Informix][Informix ODBC Driver][Informix]Cannot use a select or any of the database statements in a multi-query prepare
а в используемом DB эксплогере то же самое проходит, толи он сам разбирает и выполняет по командно, то ли это ограничение в драйвере, а сервер позволяет... в любом случае - для меня пакеты не доступны.
← →
junglecat © (2015-04-27 11:35) [46]> Там вот еще
> MsGuns © (26.04.15 15:05) [31]
> MsGuns © (26.04.15 20:47) [33]
> какую то хитрость хочет предложить...
примерно тоже самое я предлагал еще в [1].
Но это все бессмысленно, пока ты не знаешь, какие поля есть в исходной таблице или какие хочешь получить
← →
sniknik © (2015-04-27 11:54) [47]> пока ты не знаешь, какие поля есть в исходной таблице или какие хочешь получить
Я их не знаю на клиенте, и не хочу знать, логику сильно переделывать придется, на сервере не проблема все отсюда -
SELECT colname FROM syscolumns
WHERE tabid IN (SELECT tabid FROM systables WHERE tabname="agents") AND colno NOT IN (3,4)
Вместо вюьшки в запрос твое из [1] можно переделать?
Я просто понял так, что ты предлагал обращаться к вьюшке вместо таблицы, а ее в каждой базе написать с персонализированным набором полей. Что не пойдет, поля поменяли вьюшку нет, вьюшку удалили, прав не дали и т.д. проблем станет больше.
Если не это то как?
← →
junglecat © (2015-04-27 12:01) [48]если не это, то select from select
> SELECT colname FROM syscolumns
> WHERE tabid IN (SELECT tabid FROM systables WHERE tabname="agents")
SELECT colname FROM syscolumns
JOIN systables on syscolumns.tabid = systables.tabid
WHERE tabname="agents"
проблема именно в AND colno NOT IN (3,4)?
← →
sniknik © (2015-04-27 12:22) [49]Ну... именно их не может разобрать/не понимает драйвер.
Но я бы не называл это проблемой, они то не нужны, и они в "жесткой части структуры", проблема в вынужденности использовать * вместо списка нужных полей, и в том что он, этот список "легко, и у всех по разному" может измениться.
← →
Владислав © (2015-04-27 12:34) [50]Соберите с эталонной базы списки таблиц и списки полей. При подключении к базе данных проверяйте соответствие ее эталонной базе.
При обнаружении несоответствия выдавайте сообщение, мол, структура изменена, программа может работать некорректно.
А вообще, интересно, какие способы вы используете для сохранения работоспособности программы в следующих случаях:
1. Пользователь отредактировал исполняемый файл в текстовом редакторе.
2. Пользователь уронил системный блок с десятого этажа.
3. Администратор разбил сервер молотком.
Это из наболевшего, а можно еще варианты придумать. :)
← →
junglecat © (2015-04-27 12:35) [51]> Это из наболевшего
реально были 2-й и 3-й пункты?
← →
Владислав © (2015-04-27 12:36) [52]junglecat © (27.04.15 12:35) [51]
Там смайлик, но вообще ситуация то сродни. Кто-то что-то испортил, но при этом все должно работать. :)
← →
junglecat © (2015-04-27 12:37) [53]> Кто-то что-то испортил, но при этом все должно работать
ну это из серии "тыжпрограммист!"
← →
sniknik © (2015-04-27 13:36) [54]> Соберите с эталонной базы ...
Страшную вещь скажу - эталонной нет. Есть основная, рабочая внутри компании, которую можно признать эталонной. НО, изменить могут и в ней, наши "теологи БД" хоть и ближе региональных, но по другим качествам от них не отличаются.
> интересно, какие способы вы используете для
Такого не было, но было не менее эпичное -
- Мы "продали" программу, а у клиента она периодически не работает! Исправьте!
- Не можем. Клиент нерегулярно платит за интернет, его провайдер за неуплату отключает, а у нас инет обязателен для работы (к серверу через инет).
- Чего? Вы мне тут мозг не парьте своими терминами. Повторяю, клиент "КУПИЛ!", программу, она ДОЛЖНА! работать.
Было бы смешно, разово на собрании, если бы это потом не вынесли официально в список проблем к устранению, прошло кучу "технических специалистов".
+
> 1. Пользователь отредактировал исполняемый файл в текстовом редакторе.
Есть шаблоны отчетов в rtf, есть рекомендации к их изменению, и пользователь который переименовал скрин в png дав ему расширение rtf... само собой программа начала "валится" (ошибку не соответствия форматов выдавать).
Проблем в принципе не было, просто объяснили что rtf это формат, а не расширение, и если хочется "картинку как есть" то ее все равно нужно вкладывать в файл нужного формата.
++
> 3. Администратор разбил сервер молотком.
Администратора уволили без зарплаты... он забрал с собой сертификаты, и начал переводить деньги ангента себе на счет, строго "до недоданого по зарплате" (честным был видать).
Подняли вопрос о "взломе программы", на полном серьезе обсуждали "как бы так защититься от админа с сертификатами паролями к ним и т.д", т.е. о того кто все получал, настраивал, пароли придумывал...
О том, что прописанная процедура дискредитации с выпуском нового не была проведена (обязательна в некоторых случаях, смена админа один из них)... не то чтобы умолчали но "у нас админа нет больше, кто все те страшные вещи о которых вы говорите делать будет?". Агенту деньги вернули за счет компании, БЛИН, по причине "недостаточно защиты в программе позволяющей махинации".
> ну это из серии "тыжпрограммист!"
скорее "яжпрограммист!" и сделаю так чтобы ко мне не цеплялись больше... хотя бы по этому поводу. :)
← →
Cobalt © (2015-05-01 23:46) [55]Ищи аналогии в более понятных вещах, например сотовый телефон и неуплата,
или там электричество с перебоями.
Страницы: 1 2 вся ветка
Текущий архив: 2015.12.27;
Скачать: CL | DM;
Память: 0.58 MB
Время: 0.008 c