|
вопрос по работе с BLOB-полями
|
|||
---|---|---|---|
#18+
aidynchikGTT я использовал не из-за BLOB-полей. Я просто не вижу другого выхода при добавлении фото и вообще реквизитов больше одного (например телефоны), которые падают в отдельную таблицу и имеют ссылку на сотрудника. 1) При добавлении к уже имеющемуся сотруднику - да, можно обойтись и без GTT. Но как быть при создании нового сотрудника? Как ее заполнять? Можно вставлять записи с null, затем апдейтить после создания сотрудника, но программа многопользовательская, мало ли там таких записей может быть за это время. ID сотрудника присваивается генератором на момент инсерта в таблицу сотрудников. я не вижу выхода даже при корректировке одного реквизита Вот что писал kdv Однако я не очень понимаю, по каким причинам это может произойти, если речь идет об "окне редактирования сотрудника". Ладно бы если эти редактирования были "сохранением" промежуточного редактирования . Так ведь максимум жизни данных gtt - это в коннекте. А если приложение отвалилось, то и данные из gtt уже не будут видны. и как по мне он полностью прав. Я бы посоветовал убрать из реализации gtt. Получив в виде бонуса: - возможность корректировки в течении продолжительного времени с "неограниченными" перерывами - сохранение "следов" изменений для возможных последующих разборок - при некотором желании возможность отмены изменений что касается непосредственно блобов то думаю ничего страшного не будет, тем более что ты уже сейчас озадачился этим и "направление движения" вроде как показали ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2016, 20:37 |
|
вопрос по работе с BLOB-полями
|
|||
---|---|---|---|
#18+
kdv1. откуда взялась ХП? 2. почему вы не можете с обычными таблицами работать так же, как сейчас работаете с гтт? ХП была, она создает сотрудника, и реализует проверки перед вставкой, просто я о ней не упоминал, думая что не суть. Весь проект реализован на ХП, возможно надо было сразу сказать. Понадобилось вставлять фото. Не имея ID сотрудника на момент его создания, когда пользователь в интерфейсе нажимает "Добавить фото" - я кладу блоб во временную таблицу. Потом в ХП после вставки сотрудника, имея ID на руках, я перекидываю из временной таблицы в постоянную, потому что я знаю, что во временной таблице только мои блобы, моей сессии, а не чьи-то там. Выбрал путь с ГТТ не из-за боязни мусора, а именно из-за проблем с ID. Теперь же все говорят, что я делаю полный бред, могу сразу кидать в постоянную таблицу. То есть запустить ХП, а после нее запустить цикл инсертов блобов? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2016, 20:42 |
|
вопрос по работе с BLOB-полями
|
|||
---|---|---|---|
#18+
m7m, я еще добавлю, что вообще, по уму, блобы и прочая ахинея обычно является "вторичной" информацией. То есть, фото сотрудника может не быть, а может быть и фото, и анкета, и еще что-то. И если по "первичной информации" о сотрудниках будут идти достаточно частые или тяжелые запросы, то все вторичные столбцы лучше вынести в отдельную таблицу, связанную с сотрудниками как 1-1. Но это так, из разряда "практические советы по проектированию баз данных". ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2016, 20:46 |
|
вопрос по работе с BLOB-полями
|
|||
---|---|---|---|
#18+
aidynchik Весь проект реализован на ХП... Все болезни лечим через одну дырочку? aidynchikТо есть запустить ХП, а после нее запустить цикл инсертов блобов? А мозг включить и расписать на бумашке, если не хватает извилин удерживать головой, пошаговое выполнение "Степ-бай-степ". - Где и кто тебя учил програмать? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2016, 20:50 |
|
вопрос по работе с BLOB-полями
|
|||
---|---|---|---|
#18+
aidynchikПонадобилось вставлять фото. Не имея ID сотрудника на момент его создания вот опять. Интерфейс создания сотрудника есть. Но оттуда не возвращается его id, потому что раньше он был не нужен. То есть, это ваш прокол. Дальше, теперь вы лепите "фото" поперед создания сотрудника. Не надо этого делать. Создали сотрудника, затем добавили фото. У вас же все равно будет и интерфейс ДОБАВЛЕНИЯ фото сотрудникам, поскольку у существующих сотрудников ФОТО НЕТ. То есть, опять проблема с логикой приложения. aidynchikв интерфейсе нажимает "Добавить фото" - я кладу блоб во временную таблицу. зачем во временную таблицу? почему нельзя в TMemoryStream положить фотку, а потом этот стрим записать в блоб сотрудника? Это если фотка копипастится. А если указывается файл с фоткой, так из файла можно блоб прочитать потом. Зачем вот это телодвижение с сохранением блоба в гтт? Опять проблема с логикой в приложении. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2016, 20:51 |
|
вопрос по работе с BLOB-полями
|
|||
---|---|---|---|
#18+
kdvвот опять. Интерфейс создания сотрудника есть. Но оттуда не возвращается его id, потому что раньше он был не нужен. ID конечно возвращается. kdvДальше, теперь вы лепите "фото" поперед создания сотрудника. Не надо этого делать. я этого и не делал, я же клал во временную таблицу, сотрудника нет, соответственно в пост таблицу и не ложил. kdvСоздали сотрудника, затем добавили фото. У вас же все равно будет и интерфейс ДОБАВЛЕНИЯ фото сотрудникам, поскольку у существующих сотрудников ФОТО НЕТ. Так и есть, так и происходит в ХП - создается сотрудник, затем ему привязываются фото из временной таблицы. kdvпочему нельзя в TMemoryStream положить фотку, а потом этот стрим записать в блоб сотрудника? Это если фотка копипастится. А если указывается файл с фоткой, так из файла можно блоб прочитать потом. это все так и реализовано, просто через ГТТ плюс ХП. Не знаю почему таким путем пошел, да, согласен, можно было после создания сотрудника тупо кидать блобы в пост таблицу. Сорри, за потраченное время, всем огромное спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2016, 21:00 |
|
|
start [/forum/topic.php?fid=40&msg=39374535&tid=1561785]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 275ms |
total: | 414ms |
0 / 0 |