Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 [7] 8 9 10 11 .. 14   вперед  Ctrl
 Re: использование хранимых процедур  [new]
Bogdanov Andrey
Member

Откуда: Да уже и сам не знаю...
Сообщений: 2203
locky
Нет, это типа мне очень не нравится рыскать по стопиццоттысяч разным шарповским модулям, пытаясь выяснить где какой sql код есть, что он делает, где возможны проблемы, где точки входа и модификации и т.д.
В то же время в случае использования только SP я имею проблемы только с dsql
В имеете дело только с dsql и "рыскаете по стопиццоттысяч разным шарповским модулям пытаясь выснить где какая процедурка вызывается, зачем и где возможны проблемы..." :)
29 окт 09, 22:12    [7859241]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
ЛП
Guest
2 barrabas
клиентское приложение коннектится к сервису, ни о базе и о чем другом ему знать не нужно, сервис, в свою очередь, откликаясь на запросы клиента, стучится к нескольким базам

У меня Windows стучится к Windows Server Update Services, и ничего винда не знает про то,что WSUS стучится в MS SQL Server, чего-то оттуда выдирает, отсылает, умирает.
На Ваш взгляд это - трехзвенка? Если да, то протоколируем разногласие.

Я вижу смысл в трехзвенке если не нужно "светить" базу в инете

Чтобы не светить базу в интернете, я вижу смысл в фаерволе.
Протоколируем разногласие.

при работе с несколькими базами

Работать с разными базами под разными СУБД на разных физических серверах - я вижу смысл через linked servers (для ms sql server), или аналогичными способами в других СУБД (ежели это не огнептиц).
Смысла городить трехзвенку только для одновременной работы с разными базами - я не вижу.
Протоколируем разногласие.

но просто так чтобы было, типа чтобы ХП не писать, а писать классы в еще одном проекте, не вижу смысла.

Писать всё равно придется, хоть ХП, хоть классы
Проект всё равно будет, хоть в Visual Studio, хоть в SQL Server Management Studio.
Я предпочитаю программировать там, где мне это делать удобнее. На языке, более подходящем для реализации выбраных паттернов. Кстате, совершеннейший нефакт, что это всегда будет VS.
Вы предпочитаете делать ХП лишь бы не писать классы? Протоколируем разногласие.
29 окт 09, 22:20    [7859261]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Bogdanov Andrey
locky
Нет, это типа мне очень не нравится рыскать по стопиццоттысяч разным шарповским модулям, пытаясь выяснить где какой sql код есть, что он делает, где возможны проблемы, где точки входа и модификации и т.д.
В то же время в случае использования только SP я имею проблемы только с dsql
В имеете дело только с dsql и "рыскаете по стопиццоттысяч разным шарповским модулям пытаясь выснить где какая процедурка вызывается, зачем и где возможны проблемы..." :)

Ниасилил.
29 окт 09, 22:21    [7859262]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
Bogdanov Andrey
Member

Откуда: Да уже и сам не знаю...
Сообщений: 2203
locky
Ниасилил.
Вы пишете, что если приложение ходит в базу используя sql, то у вас возникают проблемы с поиском точек входа. Объясните мне куда деваются эти проблемы в случае использования SP.
29 окт 09, 22:28    [7859282]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Bogdanov Andrey
locky
Ниасилил.
Вы пишете, что если приложение ходит в базу используя sql, то у вас возникают проблемы с поиском точек входа. Объясните мне куда деваются эти проблемы в случае использования SP.

Потому что я ВИЖУ все точки входа.
простым, банальным до жути запросом, получающим список хранимых процедур.
Каким бананом мне получить точки входа в БД, если sql код размазан по шарповскому приложению - я представляю с трудом.
каким образом идентифицировать - каким именно кодом производится DM над теми или иным таблицами/view - я представляю с трудом.
29 окт 09, 22:31    [7859292]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
ЛП
Guest
locky
Потому что я ВИЖУ все точки входа.
простым, банальным до жути запросом, получающим список хранимых процедур.

Этот список хранимых процедур как-нибудь помогает:
- выяснить где какой sql код есть
- что он делает
- где возможны проблемы
???
29 окт 09, 22:37    [7859304]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54794

locky

Каким бананом мне получить точки входа в БД, если sql код размазан по
шарповскому приложению - я представляю с трудом.
каким образом идентифицировать - каким именно кодом производится DM над
теми или иным таблицами/view - я представляю с трудом.

За шарп не скажу, а для Дельфийского проекта я бы использовал FAR с его
Alt-F7. А вот как Вы найдёте то же самое в груде ХП, использующих dsql
(т.е. без возможности посмотреть зависимости) - я не представляю даже с
трудом.

Posted via ActualForum NNTP Server 1.4

29 окт 09, 22:38    [7859306]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
Bogdanov Andrey
Member

Откуда: Да уже и сам не знаю...
Сообщений: 2203
locky

Потому что я ВИЖУ все точки входа.
простым, банальным до жути запросом, получающим список хранимых процедур.

И каким образом этот запрос помогает вам понять кто какие процедуры и зачем вызывает. Вы точно также, как и в случае с SQL не имеете никакого представления о том, каким именно кодом осуществляется вызов этих процедур.
29 окт 09, 22:42    [7859318]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Набежали то, набежали :)
Отвечу всем по порядку.
Имея список процедур я могу
1. Выяснить, где какой код выполняется. Где идет обращение к той или иной таблице/view, процедуре, функции и т.д. Если обращение идёт к таблице/view я знаю характер обращения (i/u/d/s/truncate/something else)
2. я знаю список потенциальных проблем, как-то - неправильный паттернй, неправильные обращения к процедурам етк.
3. я имею возможность посмотреть список зависимостей.

определенную проблему представляет DSQL, но его, по счастию, крайне мало, и все места его использования (ну кто бы мог подумать!) я тоже могу посмотреть, имея на руках хранимые процедуры.


-------------------------
There’s no silver bullet!
30 окт 09, 00:12    [7859491]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
ЛП
Guest
locky
Имея список процедур я могу
1. Выяснить, где какой код выполняется.

Каким это таким волшебным образом???

Вот вам список процедур:
storedprocedure1
storedprocedure2
storedprocedure3

Выясните, пожалуйста, где какой код выполняется.
30 окт 09, 00:59    [7859524]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
ЛП
locky
Имея список процедур я могу
1. Выяснить, где какой код выполняется.

Каким это таким волшебным образом???

Вот вам список процедур:
storedprocedure1
storedprocedure2
storedprocedure3

Выясните, пожалуйста, где какой код выполняется.

Прошу прощения, а вы не могли бы привести код этих процедур? А то телепат, знаете-ли, в отпуске
30 окт 09, 01:37    [7859551]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Ах да, видимо, я не слишком понятно выразился :)
Не только списочный состав процедур, но и сами процедуры, ессно.
Впрочем, как ДБА, если я получаю список процедур из БД при помощи запроса - я аналогичным образом получаю и тело процедур.

-------------------------
There’s no silver bullet!
30 окт 09, 01:38    [7859554]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
ЛП
Guest
2 locky
Прошу прощения, а вы не могли бы привести код этих процедур? А то телепат, знаете-ли, в отпуске

Мог бы, конечно, хоть Вы и сказали, что списка имеющихся процедур Вам достаточно.
Первая - Select * From dbo.TableValuedFunction1()
Вторая зашифрована
Третья в дотнетовской сборке лежит, извиняй борода, декомпилятора нэма.

Ах да, видимо, я не слишком понятно выразился :)

Почему же. Предельно понятно.

если я получаю список процедур из БД при помощи запроса - я аналогичным образом получаю и тело процедур.

Иехх... а я то думал, что Вы - волшебник. Умеете из имени процедуры напрямую в мозг её код читать и сразу понимать, с нулевыми усилиями. Все стопиццоттысяч сиквеловских простыней сразу.

Ну ладно. По имеющимся телам стопиццоттысяч процедур Вы легко сумеете понять, что там за SQL код, что он делает, и где проблемы (особенно - где проблемы, это моментом выясняется). Я тебе конечно верю, разве могут быть сомненья, я и сам всё это делал, это наш с тобой секрет (с)

Непонятно только, что мешает такую же операцию с шарповыми модулями проделать.
Лежат себе DataAccessLayerComponents в отдельном проекте, называющемся DataAccessLayerComponents.csproj, наследуют себе от какого-нибудь базового класса, иерархия смотрится без каких-либо запросов, в обычном ObjectBrowser, SQL код смотрится в мало отличающихся CRUD методах, где всё это добро потом используется - видно с одного клика Find usage.

Если стопиццоттысяц хранимых процедур не представляет проблему, то и здесь проблемы быть не должно.
Ну, это конечно же при условии, что сумели из грязного тапка застрелить внутреннего вредителя - до того, как он успел размазать хорошо структурированный DataAccess-код ровным слоем по всему солюшену.
Если из грязного тапка промахнулись - бяда, бяда, огорчение. Не промахнитесь в следующий раз, когда внутренний вредитель попробует до сиквеловских процедур добраться.
30 окт 09, 02:13    [7859571]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
ЛП
Ну ладно. По имеющимся телам стопиццоттысяч процедур Вы легко сумеете понять, что там за SQL код, что он делает, и где проблемы (особенно - где проблемы, это моментом выясняется). Я тебе конечно верю, разве могут быть сомненья, я и сам всё это делал, это наш с тобой секрет (с)

Опытные ДБА используют спецтулзы, для поиска потенциальных проблем.


ЛП

Непонятно только, что мешает такую же операцию с шарповыми модулями проделать.
Лежат себе DataAccessLayerComponents в отдельном проекте, называющемся DataAccessLayerComponents.csproj, наследуют себе от какого-нибудь базового класса, иерархия смотрится без каких-либо запросов, в обычном ObjectBrowser, SQL код смотрится в мало отличающихся CRUD методах, где всё это добро потом используется - видно с одного клика Find usage.

оккей.
Значит, лежит у меня стопицоттыщ компомнентов, в каждом из которых прописано 4*стопицоттыщ строк для выбора/модификации данных.
И вот, значит, приходит неопытный ДБА (вроде меня) к опытному шарперу (вроде вас) и вопрошает: уважаемый, в каком, извините, месте, у вас происходит удаление из таблицы имярек.
И опытный, значит, шарпер, берёт в руки... А что он, кстати, берёт то?
30 окт 09, 02:24    [7859575]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
ЛП

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


Харроший вапрос, кстате. Впрочем, я его уже озвучил выше.
Уважаемый, какой магической магией вы мне покажете, что "удаление из таблицы имярек осуществляется только таким-то компонентом, с помощью запроса вот такого вот вида"?
и что это, с позволения сказать, удаление, не прописано у вас еще в стотыщпицот одном запросе, равномерно, как манная каша, размазанном по всем проектам сразу?
30 окт 09, 02:26    [7859576]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
ЛП
Guest
2 locky
уважаемый, в каком, извините, месте, у вас происходит удаление из таблицы имярек.
И опытный, значит, шарпер, берёт в руки... А что он, кстати, берёт то?

Клавиатуру берет. И Ctrl-F нажимает в проекте. Для поиска строки [Table(Name="dbo.имярек")]
Хотя во многих случаях может сразу открыть public class Имярек { ... }

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

Классическая магия называется "грязный тапок".
Если внутренний враг не был побежден - я в этот проект лезть не хочу. Равно как и в равномерно по всему серверу размазанные стопиццоттысяч сиквеловских простыней, в которых внутренний вредитель собирает sql побуквенно
30 окт 09, 02:52    [7859582]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
ЛП
2 locky
уважаемый, в каком, извините, месте, у вас происходит удаление из таблицы имярек.
И опытный, значит, шарпер, берёт в руки... А что он, кстати, берёт то?

Клавиатуру берет. И Ctrl-F нажимает в проекте. Для поиска строки [Table(Name="dbo.имярек")]
Хотя во многих случаях может сразу открыть public class Имярек { ... }

А, ну да, ну да... Да здравствует поиск, бессмысленный и беспощадный :)
Как насчет удаления из зависимой таблицы? На там master/slave?
Когда удаление зависимой (она же - искомая) происходит при удалении из мастера?
А хотя, погоди... у нас же "бизьнесь-обжекты", труъ джедай шарпей при удалении мастера закрутит цикл по слейву и поштучно грохнет все ныне ненужные записи..

кстати, труъ-джедай. Я так понимаю - ваша метода (особенно в части "откроет паблик класс имярек" ) - страдает жюткой недостоверностью?

автор
Равно как и в равномерно по всему серверу размазанные стопиццоттысяч сиквеловских простыней, в которых внутренний вредитель собирает sql побуквенно

В том то и беда, мил друг, что с точки зрения ДБА (человека, который мала-мала отвечает за всё, что вы пытаетесь делать с сервером) этот ваш "код унутре класса" - есть сборище манной каши, размазанной по сотням шарпеевских файлов (кода, ресурсов и прочей фигне) и ну никак не поддерживаемо и не анализируемо.

Все ваши приложения суть самый чижолый случай - dsql.
И если на стороне сервера эти случаи наперечет - и уже доставляют неудобства, то на стороне клиента - суть весь проект сплошной головняк и потенциальный глюк.
30 окт 09, 03:17    [7859594]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
Favn
Member

Откуда:
Сообщений: 585
Yo.!
дык, только вот жава - мейнстрим, а об существовании sql/pl и половина db2 кодеров не подозревает.
Т.е. половина db2 кодеров за последние 10 лет ни разу в доки не заглядывала? Буду очень признателен за ссылку на подобное соц. исследование :)
Yo.!
только вот сам luw не единый, а до v9 и для luw нужно было С компилятор для sql/pl таскать.
Неправда - "родной" (без компиляторов) SQL PL появился в 8-ке, лет так больше 10 назад. А inline SQL PL (его подмножество), насколько я помню, был и в 7-ке.
Yo.!
скорострельность pl/sql далеко не единственная, а главное не главная фича :)
И в чем же эта сакральная мощь? В том, что в язык СУБД напихали кучу функционала, к СУБД никакого отношения не имеющего? Сомнительное преимущество - как уже говорилось, для "внешних" задач та же Java несравнимо мощнее и удобнее.
Favn
ну ерунду не говорите, там нет базовых конструкций. нет аналога пакетам, нет реф-курсоров, нет и трети функий из базовых пакетов оракла. посмотрите чего может эмулировать db2 9.7 в плане pl/sql, он же и половины конструкций не переваривает.
То есть главная проблема SQL PL - в том, что он не PL/SQL :) Поясню - то, что в нем нет точно такого же функционала, не значит, что нет аналогичного. Про "базовые конструкции" не понял, но, на всякий случай, create or replace уже есть, ассоциативные массивы - тоже. И даже аналог SQL*Plus сделали, непонятно зачем. :)
Вот аналог пакетам - модули. Ничего, что не так называются? ;) Просто "pakage" в DB2 значит совсем другое.
Реф-курсоров нет. Но вернуть несколько открытых курсоров из SP можно запросто - CURSOR WITH RETURN, см. пример в самом низу. Увы - опять другое название, вот невезение. ;)
Что до базовых пакетов оракла - их ввели для совместимости, в DB2 эти задачи решаются иначе. И не стоит оценивать SQL PL по способности DB2 эмулировать PL/SQL - родные возможности богаче. А PL/SQL в DB2 вообще, насколько я читал, был лицензирован у EnterpriseDB, так что претензии к его недостаткам - к постгрессу, пожалуйста, нам оно без надобности :)
30 окт 09, 10:25    [7860181]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
MGY
Member [заблокирован]

Откуда:
Сообщений: 5551
Yo.!

есть sql/pl работает как not fenced, т.е. в ядре db2, вне адресного пространства, как и любой пхп например. просто для пхп нет препроцессора, а для жабы выкатили.


Народ я вот не понял обсуждения экономии 1 копейки при потере 10 рублей, вы тут сейчас во что уперлись с фенседом ?
30 окт 09, 10:53    [7860399]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
SQLMantis
Member

Откуда: Москва
Сообщений: 240
locky
Ах да, видимо, я не слишком понятно выразился :)
Не только списочный состав процедур, но и сами процедуры, ессно.
Впрочем, как ДБА, если я получаю список процедур из БД при помощи запроса - я аналогичным образом получаю и тело процедур.

-------------------------
There’s no silver bullet!


Не в ту степь, IMHO, спор пошел.
В первую очередь, процедуры необходимы для реализации понятного и документированного API к сущностям БД.
30 окт 09, 10:56    [7860424]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
SQLMantis
Не в ту степь, IMHO, спор пошел.
В первую очередь, процедуры необходимы для реализации понятного и документированного API к сущностям БД.

в первую очередь процедуры нужны для реализации средствами СУБД алгоритмов, которые реализуются посредством процедурных языков, а не DML. Документировать API к сущностям БД конечно же нужно, но при чем здесь первая очередь? Есть вагон и маленькая тележка средств для создания такой документации, любого завхоза удовлетворит.
30 окт 09, 11:27    [7860680]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
SQLMantis
Member

Откуда: Москва
Сообщений: 240
iscrafm
SQLMantis
Не в ту степь, IMHO, спор пошел.
В первую очередь, процедуры необходимы для реализации понятного и документированного API к сущностям БД.

в первую очередь процедуры нужны для реализации средствами СУБД алгоритмов, которые реализуются посредством процедурных языков, а не DML. Документировать API к сущностям БД конечно же нужно, но при чем здесь первая очередь? Есть вагон и маленькая тележка средств для создания такой документации, любого завхоза удовлетворит.


Особенно вторая часть Вам удалась :)
Но в общем понятно.
30 окт 09, 11:46    [7860920]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
Yo.!
Guest
Favn
Неправда - "родной" (без компиляторов) SQL PL появился в 8-ке, лет так больше 10 назад. А inline SQL PL (его подмножество), насколько я помню, был и в 7-ке.

правда, правда.

Developers who program logic in SQL/PL will be delighted to find out that they no longer require a native C compiler on their distributed workstations to develop their code. DB2 V8.2 gives you the option to run SQL/PL as byte code in the engine.

8.2 это еще и 5 лет не прошло.

Favn

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

в отличае от db2 в оракл напихали полноценный язык, а не пару конструкций покрывающих 50% потребностей.

Favn
не значит, что нет аналогичного. Про "базовые конструкции" не понял, но, на всякий случай, create or replace уже есть, ассоциативные массивы - тоже. И даже аналог SQL*Plus сделали, непонятно зачем. :)
Вот аналог пакетам - модули. Просто "pakage" в DB2 значит совсем другое.

афигеть, точно похоже на пакеты. лет через 10 бимерцы вспомнили, что не хватает базовой конструкции и все же добавили. глядишь через лет 5 весь функционал присутствующий в pl/sql конца 90х доделают.

Favn
Реф-курсоров нет. Но вернуть несколько открытых курсоров из SP можно запросто - CURSOR WITH RETURN, см. пример в самом низу. Увы - опять другое название, вот невезение. ;)

ну за последний год sql pl прямо рывок совершил, обязательно погляжу что там в 9.7 добавили. вернуть пару рекордсетов это конечно огромное достижение, но рефкурсор это все же чуток больше ...

Favn
А PL/SQL в DB2 вообще, насколько я читал, был лицензирован у EnterpriseDB, так что претензии к его недостаткам - к постгрессу, пожалуйста, нам оно без надобности :)

да мне собственно тоже не к чему, но я давно говорил - даешь pl/sql как стандарт индустрии. в правильном направлении движутся.
30 окт 09, 12:45    [7861523]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
Yo.!
Guest
MGY

Народ я вот не понял обсуждения экономии 1 копейки при потере 10 рублей, вы тут сейчас во что уперлись с фенседом ?

подозреваю экономия шибко больше копейки, этот препроцессор - просто syntax shugar. т.е. db2 с жабой работает как и с любой другой клиентской прогой, просто автоматом подставляя фетчи, чтоб писанины было поменьше.
30 окт 09, 12:56    [7861635]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
Favn
Member

Откуда:
Сообщений: 585
Yo.!
подозреваю экономия шибко больше копейки, этот препроцессор - просто syntax shugar. т.е. db2 с жабой работает как и с любой другой клиентской прогой, просто автоматом подставляя фетчи, чтоб писанины было поменьше.
Для JDBC - да, для SQLJ - вовсе нет. SQLJ является просто сахарком в Оракл, а в DB2 это иной механизм работы, полноценный embedded SQL. При прекомпиляции в БД создается pakage (в терминах DB2), содержащий запросы прекомпилированного модуля, из самого Java-приложения тексты запросов изымаются. Это позволяет исключить injection, давать права на выполнение модуля без прав доступа к БД, отслеживать связь структуры БД с запросами в разных версиях модуля, оптимизировать планы не в момент выполнения запросов, а когда укажут (в момент выполнения тоже можно), исключить несколько этапов компиляции SQL в момент его выполнения.
И фетчи, если их не было, ниоткуда не появляются. :)
30 окт 09, 13:37    [7862079]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 [7] 8 9 10 11 .. 14   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить