Форум: "Прочее";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
ВнизМузыкой навеяло... Найти похожие ветки
← →
Игорь Шевченко © (2007-11-01 14:19) [40]clickmaker © (01.11.07 13:23) [14]
В смысле зачем ? Для разграничения доступа вестимо.
DiamondShark © (01.11.07 13:45) [22]
> Права -- ничто. Удобство сопровождения -- всё.
Не совсем понимаю, чем пара SQL-запросов обернутых в ХП удобнее в сопровождении, чем не в ХП. Куча ХП разве проще в сопровождении ?
← →
clickmaker © (2007-11-01 14:20) [41]
> Что, там даже параметров нету?!
да ты чё... какие параметры
есть конечно sprintf, но сам факт отсутствия ХП оченно удручает
← →
clickmaker © (2007-11-01 14:22) [42]
> [40] Игорь Шевченко © (01.11.07 14:19)
> clickmaker © (01.11.07 13:23) [14]
>
> В смысле зачем ? Для разграничения доступа вестимо
а бизнес-логика на что?
в базу вообще напрямую кроме sa никого пускать нельзя. А то потом начинается: "а вот у нас данные куда-то пропали... а вот нельзя ли посмотреть лог транзакций... а вот кто последний в эту табличку ходил..."
← →
Игорь Шевченко © (2007-11-01 14:25) [43]clickmaker © (01.11.07 14:22) [42]
> а бизнес-логика на что?
Ниче не понял, причем тут бизнес-логика. В базе данных есть объекты, таблицы там всякие, процедуры, представления и еще дофига. На них на всех желательно дать доступ тем, кому он необходим. Чем больше объектов (тех же ХП) тем больше раздач.
← →
homm © (2007-11-01 14:25) [44]> [39] clickmaker © (01.11.07 14:18)
Код говорю в студию (тока студия не в этой ветке).
Опера все нормально понимает, что-бы помочь тебе, мне нужно знать в чем иименно…
← →
clickmaker © (2007-11-01 14:35) [45]
> [44] homm © (01.11.07 14:25)
да ну на хрен еще ветки плодить, тем более, что тут по теме вряд ли чего-то новое скажут
код простой
<table class="content" height="100%"><tr><td class="content">
%CONTENT%
</td></tr></table>
что через стиль, что напрямую - опера высоту 100% не ставит
Version 8.51
Build 7712
← →
clickmaker © (2007-11-01 14:37) [46]
> [43] Игорь Шевченко © (01.11.07 14:25)
Вы все еще кипятите? Тогда мы идем к вам
Я к тому, что ни разу не использовал механизм секьюрити сиквела для разграничения полномочий. И как-то жив до сих пор.
Я живу не так? :)
← →
homm © (2007-11-01 14:42) [47]> Version 8.51
> Build 7712
Раритет не собираю, проверь сам, работает или нет, но вообще-то в таком виде работать и не оченьто и должно…<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<style>
html, body, #maintable {
width: 100%;
height: 100%;
padding: 0;
margin: 0;
}
</style>
</head>
<body>
<table id=maintable>
<tr><td valign=bottom>
%CONTENT%
</table>
</body>
</html>
← →
clickmaker © (2007-11-01 14:44) [48]
> в таком виде работать и не оченьто и должно
почему? противоречит последнему постановлению госдумы?
← →
homm © (2007-11-01 14:45) [49]> [48] clickmaker © (01.11.07 14:44)
> почему?
Потому что height="100%" это от родителя, а родитель — body, а у body height не 100% от страници.
← →
clickmaker © (2007-11-01 14:48) [50]
> [49] homm © (01.11.07 14:45)
поставил 100% у body - no effect
И почему это Опера 8 - уже раритет? Чем пользуются чисто реальные пацаны?
← →
homm © (2007-11-01 14:49) [51]> [50] clickmaker © (01.11.07 14:48)
> поставил 100% у body - no effect
Из [47] попробовал? как дела?
← →
clickmaker © (2007-11-01 14:53) [52]
> [51] homm © (01.11.07 14:49)
47 - да
но я-то тоже пишу в стиль body 100%
только у меня стили в css цепляются
и не работает
← →
Ega23 © (2007-11-01 14:54) [53]Вот мне как-то музыкой навеяло... Сижу, Uriah Heep слушаю, return to fantasy.
Попутно Build ConnectionString делаю. И что-то не вяжется (сервер по IP надо было указывать). И тут
Searching every day
Looking every way
Trying to make a connection
To find a piece of the action
Я чуть со стула не упал...
← →
homm © (2007-11-01 14:55) [54]> [52] clickmaker © (01.11.07 14:53)
> но я-то тоже пишу в стиль body 100%
Потому что height="100%" это от родителя, а родитель — html, а у html height не 100% от страници.
← →
homm © (2007-11-01 14:56) [55]> [52] clickmaker © (01.11.07 14:53)
Это называется посмотри и найди 10 отличий.
← →
Sonia © (2007-11-01 14:56) [56]
> Ega23 © (01.11.07 14:54) [53]
И давно это у вас? :)
← →
Ega23 © (2007-11-01 14:59) [57]
> И давно это у вас? :)
Uriah Heep слушаю? - так это, лет с четырёх. У меня батя старый рокер... :)
Build ConnectionString? - так уже года 4, как на ADO перешли...
На слух аглицкий в песнях воспринимаю? Ну это не всегда, но у Heep - лет 7 как...
Со стула падаю? Так я же не упал...
:))))
← →
clickmaker © (2007-11-01 14:59) [58]
> [54] homm © (01.11.07 14:55)
кстати, если обернуть код [47] в <form></form>, то перестает растягиваться
установка <form height="100%"> не помогает
а вот, если в стиль добавить form - помогает
блин... получается, что Опера не наследует стили от вышестоящих блоков, а нужно для каждого явно стиль прописывать?
← →
Eraser © (2007-11-01 14:59) [59]
> clickmaker © (01.11.07 14:05) [34]
это еще что за извращение ))
intval.
← →
homm © (2007-11-01 15:02) [60]> [58] clickmaker © (01.11.07 14:59)
> установка <form height="100%"> не помогает
потому что у form нет свойства height, надо полагать?
> блин... получается, что Опера не наследует стили от вышестоящих
> блоков, а нужно для каждого явно стиль прописывать?
Наследует. Те, которые нужно наследовать.
http://htmlbook.ru/css/width.htmlНаследуется Нет
И в данном случае ты хочешь что-бы наследовалось от нижестоящих блоков, это уже бред.
← →
Павел Калугин © (2007-11-01 15:07) [61]
> За SELECT * ... -- оставлять на 6 часов без обеда.
> За INSERT без списка полей -- лишать 50% зарплаты.
> За ...WHERE OrderDate="+DateToStr(d) вместо параметризованного
> запроса -- бить милицейской дубинкой по почкам.
> За hard-coded SQL больше чем из одного оператора, не вынесенный
> в ХП -- пожизненный эцих с гвоздями.
Я бы пересмотрел меры воздействия
> За hard-coded SQL больше чем из одного оператора
1. за употребление терминов вида hard-coded - неделя без обеденного перерыва
2. Исписать всю стену словами (12 кеглем) "Больше двух во фроме вьюха больше трех ХП" всю стену. После проверки обязать закрасить"
> За ...WHERE OrderDate="+DateToStr(d) вместо параметризованного
> запроса
см. предидущий пункт
> За SELECT * ...
предложить написать заявление об уходе по собственному желанию
> За INSERT без списка полей -- лишать 50% зарплаты.
предложить подписать заявление об уходе по собственному желанию, в противном случае первый строгий выговор. (после третьего и заявление по собственному не надо будет)
← →
DrAndrey © (2007-11-01 15:20) [62]А что делать с разработчиком чье ПО работает только с логином sa, а для отчета делает бэкап базы.
← →
Ega23 © (2007-11-01 15:22) [63]
> А что делать с разработчиком чье ПО работает только с логином
> sa, а для отчета делает бэкап базы.
- Раз недруг - повесить, - хрипло сказал отец Цупик.
- А ваше мнение, брат Аба? - спросил дон Рэба, предупредительно
наклоняясь к толстяку.
- Вы знаете... Я как-то даже... - Брат Аба растерянно и детски
улыбнулся, разведя коротенькие ручки. - Как-то мне, знаете ли, все равно.
Но, может быть, все-таки не вешать?.. Может быть, сжечь, как вы полагаете,
дон Рэба?
- Да, пожалуй, - задумчиво сказал дон Рэба.
- Вы понимаете, - продолжал очаровательный брат Аба, ласково улыбаясь
Румате, - вешают отребье, мелочь... А мы должны сохранять у народа
уважительное отношение к сословиям. Все-таки отпрыск древнего рода,
крупный ируканский шпион... Ируканский, кажется, я не ошибаюсь? - Он
схватил со стола листок и близоруко всмотрелся. - Ах, еще и соанский...
Тем более!
- Сжечь так сжечь, - согласился отец Цупик.
- Хорошо, - сказал дон Рэба. - Договорились. Сжечь.
← →
clickmaker © (2007-11-01 15:24) [64]
> для отчета делает бэкап базы
оригинально
а зачем? бэкап в качестве отчета?
← →
DrAndrey © (2007-11-01 15:32) [65]Раз в месяц в Управление необходимо отправлять регистр. Там они его сводят в кучу и шлют далее. А то, что сервер не делает бэкап на сетевые диски им по барабану - ставьте MS SQL 2005 Express на машину в отдел кадров, туда же приложение и работайте.
← →
Игорь Шевченко © (2007-11-01 15:58) [66]clickmaker © (01.11.07 14:37) [46]
> Вы все еще кипятите? Тогда мы идем к вам
Нет, это мы идем к вам. За вашими данными.
> Я к тому, что ни разу не использовал механизм секьюрити
> сиквела для разграничения полномочий. И как-то жив до сих
> пор.
> Я живу не так? :)
То есть, команды grant и revoke для тебя остались вне скриптов ?
Тогда это нельзя назвать жизнью :)
← →
clickmaker © (2007-11-01 16:26) [67]
> [66] Игорь Шевченко © (01.11.07 15:58)
я подозревал, что не так все делаю :)
у меня табличка Users с логинами
а в базу напрямую может ходить только sa, и еще программа-клиент под внутренним логином. Пароли от этих логинов знают максимум 2 человека...
← →
Игорь Шевченко © (2007-11-01 16:59) [68]clickmaker © (01.11.07 16:26) [67]
А..то есть, механизм управления доступом к базе дублируется в приложении ? А если данные надо тянуть сторонними средствами (неважно какими), то только от sa и эта...правь не хочу ?
Тоже, конечно, способ...
← →
pasha_golub © (2007-11-01 17:01) [69]
> clickmaker © (01.11.07 16:26) [67]
>
>
> а в базу напрямую может ходить только sa, и еще программа-
> клиент под внутренним логином. Пароли от этих логинов знают
> максимум 2 человека...
Особая форма извращенства, как мне кажется. Кроме пользователей как таковых существуют группы (или теперь моднее роли). Можно хоть черта лысого настроить.
← →
Ega23 © (2007-11-01 17:08) [70]
> Особая форма извращенства, как мне кажется. Кроме пользователей
> как таковых существуют группы (или теперь моднее роли).
> Можно хоть черта лысого настроить.
не скажи. Так очень удобно раздавать права на бизнес-процессы, не лазая по системным таблицам.
Точнее - не давая пользователям (пусть даже и очень продвинутым) лазить по системным таблицам.
← →
clickmaker © (2007-11-01 17:08) [71]
> [68] Игорь Шевченко © (01.11.07 16:59)
механизм доступа к объектам предметной области реализован поверх системной. То есть, что-то типа своего ACL. Встроенной сиквельной при все желании не хватит, чтобы учесть все возможные пересечения полномочий, которые могут потребоваться. Вы ж понимаете, что там далеко не только на уровне "можно select - нельзя select", "можно update - нельзя update"...
Доступ на таблицы и прочие хранимки не разграничивается, потому как работать с ними может только sa.
Сторонние средства не используются (кроме как админом, опять же).
Я понимаю, что это частный случай, но он большинство потребностей по автоматизации разного рода предприятий покрывает
← →
Ega23 © (2007-11-01 17:12) [72]
> clickmaker © (01.11.07 17:08) [71]
+1
← →
Берия Лаврентий Павлович (2007-11-01 17:18) [73]50% зарплаты, лишение обеда, выговор...
Мда.. Мельчают люди...
РАССТРЕЛЯТЬ!!!
С ОБЯЗАТЕЛЬНЫМ ЛИШЕНИЕМ ПРАВ УПРАВЛЕНИЯ АВТОМОБИЛЕМ НА 5 ЛЕТ!!!
← →
Piter © (2007-11-01 17:58) [74]DiamondShark © (01.11.07 12:55)
За SELECT * ... -- оставлять на 6 часов без обеда
а какая разница... Зачем перечислять все поля таблицы, если они тебе нужны именно все? Можно написать "*"
DiamondShark © (01.11.07 12:55)
За INSERT без списка полей -- лишать 50% зарплаты
а как можно сделать INSERT без списка полей? Что это за запрос и в какие поля какие значения будут вставлены? Не понимаю...
← →
Ega23 © (2007-11-01 18:12) [75]
> а как можно сделать INSERT без списка полей? Что это за
> запрос и в какие поля какие значения будут вставлены?
Create table T1
(
Col1 int,
Col2 char(10)
)
Insert into T1 Values (1, "aaa")
← →
data © (2007-11-01 18:18) [76]
> Ega23 © (01.11.07 18:12) [75]
>
> > а как можно сделать INSERT без списка полей? Что это за
>
> > запрос и в какие поля какие значения будут вставлены?
>
>
> Create table T1
> (
> Col1 int,
> Col2 char(10)
> )
>
> Insert into T1 Values (1, "aaa")
тоже, кстати, не знала про такое. По-моему это не все СУБД поддерживают. Или я ошибаюсь?
← →
Ega23 © (2007-11-01 18:28) [77]
> тоже, кстати, не знала про такое.
в MSSQL есть ещё круче:
Create table T1
(
Col1 int identity(1,1),
Col2 int defaulr 0,
Col3 datetime default getdate()
)
Insert into T1 default values
:)
← →
DiamondShark © (2007-11-01 18:28) [78]
> Piter © (01.11.07 17:58) [74]
> За SELECT * ... -- оставлять на 6 часов без обеда
>
> а какая разница... Зачем перечислять все поля таблицы, если
> они тебе нужны именно все? Можно написать "*"
"Именно все" нужны только в том случае, если твоё приложение -- что-то вроде SQLExplorer.
В приложении определённой предметной области, во-первых, "именно все" поля мало когда нужны, а, во-вторых, если программист написал SELECT *, значит в момент написания этого кода он слабо представлял себе, что и зачем из этой таблицы ему нужно.
Иными словами, писал код одной рукой, второй почёсывая яйца.
> За INSERT без списка полей -- лишать 50% зарплаты
>
> а как можно сделать INSERT без списка полей? Что это за
> запрос и в какие поля какие значения будут вставлены? Не
> понимаю...
Вот так и можно insert into z values(1,2,3). Вставлено будет в поля, в порядке их следования в таблице. Количество значений должно совпадать с количеством полей. Поэтому, если в таблице появятся доп. поля, даже с вменяемыми дефалтами, запрос перестанет работать.
← →
Ega23 © (2007-11-01 18:29) [79]
> тоже, кстати, не знала про такое. По-моему это не все СУБД
> поддерживают. Или я ошибаюсь?
Не знаю. Я, честно говоря, никогда так не делаю. Кроме случаев insert из Select во временную таблицу
← →
Ega23 © (2007-11-01 18:32) [80]
> "Именно все" нужны только в том случае, если твоё приложение
> -- что-то вроде SQLExplorer.
>
2 справочные таблицы, третяя - связка "многие-ко-многим" между справочными с ещё одним дополнительным полем для каждого сочетания.
Обычно пишуSelect T3.*, T1.Name, T2.Name
from Table1 T1, Table2 T2, Table3 T3
where T3.T1ID=T1.ID and T3.T2ID=T2.ID
Страницы: 1 2 3 4 вся ветка
Форум: "Прочее";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
Память: 0.63 MB
Время: 0.053 c