Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2014.01.19;
Скачать: [xml.tar.bz2];

Вниз

DB/2. ацтой или рай?   Найти похожие ветки 

 
разработчик   (2013-07-31 11:32) [160]

Как в коде можно предусмотреть такие ситуации?

А ты как их обходишь?
Или не обходишь?

Если нет, то почему это тебя волнует?
А если да, то почему ты думаешь что мой код не может обойти то что ты обошел?

Или ты до сих пор не понял, что речь о самом обычном коде, а не универсализированном?

Тогда и я и медицина здесь бессильны.
Два дня не понимать родную речь - это не лечится.


 
Пит   (2013-07-31 11:34) [161]

разработчик, ну ты все таки право слово жжошь.

Ты утверждал, что любую задачу можешь реализовать универсально, то есть без привязки к БД.
Ты три страницы допытывался, чтобы тебе дали такую задачу.

Ок, sniknik собрался с мыслями и естественно выложил тебе ловушку. Задачу, которая требует серверного решения и предложил решить её на access, где нет серверной части. Естественно, это и должно показывать, что не любую задачу можно выполнить на любой БД (как ты утверждал).

И в ответ ты говоришь - а на access нету серверной части, задача плохая!

Ну это же бред уже какой-то. Ты хочешь, чтобы тебе дали задачу, которую можно выполнить на любой SQL бд и при этом ты покажешь как её выполнить? ))

По-моему, есть абсолютные два тезиса:

1) есть такие задачи, выполнение которых можно реализовать, не опираясь на специфику БД, достаточно того же SQL-92
2) есть задачи, которые невозможно выполнить, опираясь только на некую абстрактную БД, которая умеет только SQL-92.


 
Пит   (2013-07-31 11:36) [162]

1) есть такие задачи, выполнение которых можно реализовать, не опираясь на специфику БД, достаточно того же SQL-92
2) есть задачи, которые невозможно выполнить, опираясь только на некую абстрактную БД, которая умеет только SQL-92.


При этом разговор ведется в таком русле:

- разработчик пытается доказать тезис 1)
- ему пытаются доказать тезис 2)

При этом оба тезиса верны и разговор бестолковый.


 
Кщд   (2013-07-31 11:40) [163]

>разработчик   (31.07.13 11:26) [158]
>с какой целью интересуетесь?
хочу знать, где работаете
из вопроса очевидно)

>Пит   (31.07.13 11:29) [159]
>в оракле точно также. В MS SQL есть вложенные транзакции.
именно вложенных(nested) транзакций в Oracle(увы или слава богу) нет


 
Кщд   (2013-07-31 11:40) [164]

>разработчик   (31.07.13 11:26) [158]
>с какой целью интересуетесь?
хочу знать, где работаете
из вопроса очевидно)

>Пит   (31.07.13 11:29) [159]
>в оракле точно также. В MS SQL есть вложенные транзакции.
именно вложенных(nested) транзакций в Oracle(увы или слава богу) нет


 
Пит   (2013-07-31 11:43) [165]


> именно вложенных(nested) транзакций в Oracle(увы или слава
> богу) нет

это ты сейчас подтвердил мои слова или опровергнул?

Ну да, я это и говорю. В оракле, как и в ДБ2 (описывал дядя Юра) - точки сохранения. В MS SQL есть вложенные транзакции.

В оракле собственно и оператора начала транзакции нету.


 
разработчик   (2013-07-31 11:44) [166]

хочу знать, где работаете

С какой целью хотите узнать.
Впрочем успокойтесь.
Я просто младший говнокодер в говнокомпании за мкадом.

Вашему тщеславию ничто не угрожает.


 
разработчик   (2013-07-31 11:47) [167]

И в ответ ты говоришь - а на access нету серверной части, задача плохая!


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

так что не ссы. перед такими детскими проблемами я не пасую.


 
Кщд   (2013-07-31 11:47) [168]

>Пит   (31.07.13 11:43) [165]
>это ты сейчас подтвердил мои слова или опровергнул?
опровергнул)
в Oracle нет nested transactions)

>В оракле собственно и оператора начала транзакции нету.
есть же)


 
Кщд   (2013-07-31 11:49) [169]

>разработчик   (31.07.13 11:44) [166]
так можно или нельзя?
если нельзя, то почему?((
вопрос прямой и без подтекста: можно узнать название компании, в которой Вы трудитесь?


 
разработчик   (2013-07-31 11:56) [170]

хорошо.
просто банк вас устроит?
или нужно название?

ну типа что бы после этого сказать, спасибо что сказали, а то бы я мог случайно оказаться клиентом такого говнобанка.


 
Ega23 ©   (2013-07-31 12:02) [171]

select max(id) + 1 from some_table

Здесь ошибка.
Если уж на то пошло, то
select isnull(max(id) + 1, 1) from
Про "безопасность" я молчу.


 
Inovet ©   (2013-07-31 12:13) [172]

> [170] разработчик   (31.07.13 11:56)
> просто банк вас устроит?

Предположу, что описываемая программа - клиент-банк. Ну что, почему бы не пользоаться СУБД только как хранилищем десятка таблиц. Действительно, большего и не требуется. Но нельзя же рапростанять это утверждение на любые системы вообще.


 
Inovet ©   (2013-07-31 12:19) [173]

> [171] Ega23 ©   (31.07.13 12:02)
> select isnull(max(id) + 1, 1) from
> Про "безопасность" я молчу.

На время запроса оассылаем всем другим пользователям сообщение с прсьбой выйти из программы, ставим какой-нибудь флажок, чтобы не заходили, как выйдут, делаем запрос. Блин, сложно получается - с флажком ещё возиться. Эх.


 
Кщд   (2013-07-31 12:20) [174]

>разработчик   (31.07.13 11:56) [170]
>или нужно название?
да

>а то бы я мог случайно оказаться клиентом такого говнобанка.
не домысливайте
обещаю, что ничего подобного не скажу))


 
Кщд   (2013-07-31 12:22) [175]

>Ega23 ©   (31.07.13 12:02) [171]
>Здесь ошибка.
дадад! согласен)


 
разработчик   (2013-07-31 13:02) [176]

Действительно, большего и не требуется. Но нельзя же рапростанять это утверждение на любые системы вообще.

Во первых про любые придумано вами, а не нами.
Если система живет внутри корпоративной инфраструктуры то ей подобные фокусы просто не нужны.

А во вторых что же помешает распространить это утверждение на другие системы?


 
разработчик   (2013-07-31 13:05) [177]

ну возможно немного расширится спецификация интерфейса-прокладки.
возможно даже процентов на 10-15.
и будет не 20 а 30 виртуальных методов.
и чего?


 
Кщд   (2013-07-31 13:17) [178]

>разработчик   (31.07.13 13:05) [177]
название?


 
Inovet ©   (2013-07-31 13:18) [179]

> [177] разработчик   (31.07.13 13:05)
> и чего?

Да ничего. Всё можно, только не за 2 часа и не за 2 недели, и возможно, криво. Вот поступила новая блажь - храним всё в текстовом файле. Нельзя? Можно. Тагда в чём проблема - храним и получаем кучу "бонусов" - клиент может открыть Блокнотом любой файл и поправить, удобно же. Всё, делаем прокладку.


 
Пит   (2013-07-31 13:25) [180]


> опровергнул)
> в Oracle нет nested transactions)

блин, по ходу в этой теме уже все только пишут, а читать не хотят)

Кщд, у нас интересный диалог:

Я: в оракле нету вложенных транзакций
Ты: не правда, в оракле нету вложенных транзакций

Я ж не просто так спросил. Прочитай переписку еще раз)


> >В оракле собственно и оператора начала транзакции нету.
>
> есть же)

и какой оператор начинают транзакцию в оракле?


 
разработчик   (2013-07-31 13:26) [181]

Да ничего. Всё можно, только не за 2 часа

У меня за два часа.
Возьмите свой несложный проект. Допустим даже без серверной логики.
Сможете поменять компоненты доступа на другие хотя бы за день?
Да так что бы не ожидать незапланированных сбоев в бизнес слое?

Я смог. За 2 (два) часа.
И при этом отладив всего 20 методов по три-пять строк каждый я уже точно знал, что это уже готовый релиз, а не альфа-бета.


 
Пит   (2013-07-31 13:30) [182]


> Если я буду настолько же туп

зря ты начинаешь хамить. Это тебя не красит. И в целом неэффективный способ ведения дискуссии.


> и заточусь на серверную отправку смс для акцесса

вот именно. Если ты знаешь, что работаешь точно с оракл - ты можешь заточиться на серверную логику. И отправлять СМС. И парсить XML на стороне оракла, возвращая только значение нужной ноды, допустим.

А если ты делаешь типа "универсальный" вариант, то тебя так нельзя, хотя на многих целевых БД так было бы можно. И ты будешь изобретать велосипеды.

Ты сейчас как тот человек, который пытается доказать, что все данные можно хранить всего лишь в одной таблице с тремя колонками.


 
Пит   (2013-07-31 13:31) [183]


> название?

я не понимаю чего ты к человеку привязался. Хочешь, чтобы он озвучил название "Сбербанк"? )

Если ты уж такой настойчивый, то логичнее было бы самому озвучить - где ты сам работаешь?


 
разработчик   (2013-07-31 13:34) [184]

И в целом неэффективный способ ведения дискуссии.


неэффективный способ ведения дискуссии - это вторые сутки тупить на тему недостатков "универсального" варианта. Причем когда раз десять уже было жирным текстом пояснено что нет никакого такого "универсального" варианта.

И таблицы с тремя колонками заменяющей всю БД тоже нет.

Впрочем зачем я распинаюсь в одиннадцатый раз.
не дойдет же.


 
Кщд   (2013-07-31 13:45) [185]

>Пит   (31.07.13 13:25) [180]
>Я ж не просто так спросил. Прочитай переписку еще раз)
о, да - моя вина)

>и какой оператор начинают транзакцию в оракле?
явно: set transaction

>Если ты уж такой настойчивый, то логичнее было бы самому озвучить - где ты сам работаешь?
логика - это импликация
факт -> следствие
где здесь логика?


 
Кщд   (2013-07-31 13:45) [186]

>разработчик   (31.07.13 13:34) [184]
название узнаем или нет?


 
Пит   (2013-07-31 13:47) [187]


> было жирным текстом пояснено что нет никакого такого "универсального"
> варианта.

да поняли давно уже, что у тебя специфичный код работы с каждой БД и в этом смысле нужно для новой ДБ дорабатывать программу.

Универсальность в том, что ты утверждаешь - можно сделать так, что подключение новой БД это пара часов времени.

И вот на предыдущую фразу смотрят люди, которые видят сотни / тысячи пакетов в своей БД, тысячи и десятки тысяч процедур. И вот им говорят, что есть некий подход, когда можно писать так, что переехать на любую другую БД, да хоть на access, можно за пару часов. Кроме смеха ничего не будет, потому что это вообще разные вещи.

С тем, что в простых случаях работы с БД можно сделать нечто независимое - НИКТО НЕ СПОРИТ! Тебе опять же десять раз это сказали. Но ты продолжаешь это доказывать.

Тебя обижает слово "простых"? Мол ты фигню пишешь? Но это и правда простая работа с БД.
А когда тебе приводят пример более менее сложной работы с БД - ты возмущаешься тем, что на access это сделать нельзя, как же так. Это какой то паноптикум.


 
Пит   (2013-07-31 13:54) [188]


> явно: set transaction

ну это философский вопрос. На мой взгляд транзакция начинается автоматически. А set transaction всего лишь устанавливает свойства транзакции. А можно и не устанавливать.

По сути, любой оператор начинает транзакцию, точно также set transaction начинает транзакцию)


> логика - это импликация
> факт -> следствие
> где здесь логика?

Логика в том, что ты точно также сейчас уходишь от ответа. И думаю хоть 10 раз тебя спросить "Так где же" ты каждый раз будешь уходить от ответа. И автор также уходит от ответа. Поэтому ты должен сам прекрасно понимать, почему он не озвучивает.


 
разработчик   (2013-07-31 13:58) [189]

И вот им говорят, что есть некий подход, когда можно писать так, что переехать на любую другую БД, да хоть на access, можно за пару часов. Кроме смеха ничего не будет, потому что это вообще разные вещи.

Ну естественно.
Они не планировали так делать - раз.
Начинали возможно вообще не они - это два.
Переписать это самоубийство, а главное это для корпоративного сектора вообще не надо - это три.

Я же изначально поставил задачу легкости смены движка.
И сколько там хранимок у меня в процессе появилось - роли совершенно не играет.

Потому что прослойка не имеет дела с бизнес-логикой вообще.
Она служебная.

создай и верни мне нечто, что выполнит запрос, результат которого можно вставить в грид.

установи значение параметра по имени такому-то для того нечта, которое ты для меня создал на предыдущем шаге.

запусти серверный код с таким-то именем и верни результаты в такой-то структуре.

и т.д.

А уж сколько там серверного кода вы успеете наваять - какая разница сколько его, если есть метод, который запустит на выполнение любой объект созданный вами.
Никакой разницы.


 
Кщд   (2013-07-31 14:15) [190]

>Пит   (31.07.13 13:54) [188]
>На мой взгляд транзакция начинается автоматически.
это так

но set transaction - явно:
http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/settransaction_statement.htm
цитирую: "The SET TRANSACTION statement begins a read-only or read-write transaction".
begins такой begins

>Логика в том, что ты точно также сейчас уходишь от ответа.
нет
автор на вопрос: можно ли узнать?
ответил: можно
как из этого следует то, что мне нужно назвать компанию, в которой трудоустроен?)

впрочем, это не секрет: ГК "ФИС"


 
анонимус   (2013-07-31 14:18) [191]


> С тем, что в простых случаях работы с БД можно сделать нечто
> независимое - НИКТО НЕ СПОРИТ!

1C 8.2 - это простой случай работы с БД?


 
Ega23 ©   (2013-07-31 14:24) [192]


> Сможете поменять компоненты доступа на другие хотя бы за день?


Да. А зачем?


 
разработчик   (2013-07-31 14:28) [193]

автор на вопрос: можно ли узнать?
ответил: можно


Сказано можно.
Но не сказано, что можно вам.

впрочем, это не секрет: ГК "ФИС"

Если это так важно и если это вас успокоит, то пусть будет фис.

Хотя я и в первый раз про этот фис слышу.


 
разработчик   (2013-07-31 14:30) [194]

Да. А зачем?

А затем что потребовалось.
А подробности выше.


 
sniknik ©   (2013-07-31 14:43) [195]

> Возьмите свой несложный проект. Допустим даже без серверной логики.
> Сможете поменять компоненты доступа на другие хотя бы за день?
ну, если не сложный, то есть у меня один... меняется за секунду, прямо в программе, без пере компиляции. база любая.
использую постоянно (и не только я), вот в данный момент я в ней работаю с информиксом. раньше/параллельно иногда с mssql и access, и т.д. вообще ограничений нет, если есть oledb/odbc провайдер данных значит с базой можно работать. при этом мне это НИЧЕГО не стоило, никаких доп модулей писать не пришлось, все чисто на стандартах ADO.

но это, в очередной 101 раз, примитив, работа с базой на начальном уровне, писал собственно чтобы разобраться с ADO.

и что это доказывает? кроме уже сказанного.


 
Кщд   (2013-07-31 14:49) [196]

>разработчик   (31.07.13 14:28) [193]
>Но не сказано, что можно вам.
вообще, не советую Вам хоть кому-нибудь разглашать здесь
после всего, что Вы наплели в этой ветке - это будет прямой репутационный ущерб вашей компании

>Если это так важно и если это вас успокоит, то пусть будет фис.
я отвечал не Вам
меня это не беспокоит


 
Пит   (2013-07-31 15:18) [197]


> И сколько там хранимок у меня в процессе появилось - роли
> совершенно не играет.

как это не влияет. Ведь для переноса на новую неизвестную БД нужно переписать весь функционал хранимок под новую БД. А если хранимок около десяти тысяч? Вот мы и приехали, что проект по факту непереносимый, такие системы только если с нуля писать.

Ты же в своей идеологии ограничен. Тебе нельзя писать много серверного кода как минимум, потому что ты понимаешь - это затратно переносить на другие БД.
Абсолютно точно также, как поставить себе задачу ВСЕ данные хранить в одной таблице с тремя колонками. Да, можно. Причем, задача реализуема. Но ты будешь сильно ограничен в простоте, ясности, прозрачности, удобстве и быстродействии системы.

Поэтому - в простом случае хватит и трех колонок в одной таблице. А в сложном - фигня получится.

Что простые проекты можно абстрагировать от БД - тебе несколько раз говорили и никто с этим не спорит.


 
Пит   (2013-07-31 15:23) [198]


> 1C 8.2 - это простой случай работы с БД?

а что, 1C можно легко заставить работать на любой БД? Ты за 2 часа берешься заставить работать 1C с движком sqlite?


> если есть oledb/odbc провайдер данных значит с базой можно
> работать. при этом мне это НИЧЕГО не стоило

хороший пример.
разработчик разработал свой велосипед - абстрагирование от БД. В Microsoft тоже не дураки, они сделали свою технологию абстрагирования от БД - ADO. И я подозреваю, что полнота абстрагирования там получше.
Но ни тот, ни другой случай не покатит в сложных случаях. Даже да, несмотря на то, что в подходе автора можно использовать спец. фичи БД и писать разный код для разных БД. Но все равно при возрастании сложности придется слишком многое поддерживать.

Поэтому все это работает только при достаточно простых базах.


 
Пит   (2013-07-31 15:45) [199]


> явно: set transaction

ну это игра словами.

С тем же успехом я могу сказать, что в оракле начинает транзакцию:

select * from dual


 
разработчик   (2013-07-31 18:13) [200]

если есть oledb/odbc провайдер данных значит с базой можно работать. при этом мне это НИЧЕГО не стоило,

Это вам стоило тех самых ограничений накладываемых адо и олепровайдерами.
Про которые мне тут третьи сутки рассказывают.

разработчик разработал свой велосипед - абстрагирование от БД.

Какой же ты непроходимый гений.
Я не абстрагировался от БД.



Страницы: 1 2 3 4 5 6 7 вся ветка

Форум: "Прочее";
Текущий архив: 2014.01.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.83 MB
Время: 0.028 c
15-1375128275
Jeer
2013-07-30 00:04
2014.01.19
С прошедшим Днем ВМФ - мореманов!


15-1375019811
KilkennyCat
2013-07-28 17:56
2014.01.19
не могу не поделиться.


8-1234191038
Thorax
2009-02-09 17:50
2014.01.19
Работа с цветами на Delphi


15-1375043402
Юрий
2013-07-29 00:30
2014.01.19
С днем рождения ! 29 июля 2013 понедельник


15-1374908638
Пит
2013-07-27 11:03
2014.01.19
Сумасшедший радиоуправляемый вертолет





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский