Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Переход с Firebird на MS SQL  [new]
Сергей Фролов
Member

Откуда:
Сообщений: 1608
Предупреждаю сразу: флуда и холиваров не надо.

Много лет работаю с Firebird, а сейчас есть необходимость разработки на MS SQL 2005.
В связи с этим и возник вопрос: на какие грабли в связи с этим я могу наступить, и как лучше их обойти?
17 май 08, 23:27    [5678557]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
Сергей Фролов
Member

Откуда:
Сообщений: 1608
Правда никто не знает, или выходной просто?
18 май 08, 13:54    [5679289]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Основные грабли - "всё не так".
Откуда вывод - не искать аналоги, а сесть - и изучить с нуля.
Благо, времени на это нужно не так уж и много
18 май 08, 13:56    [5679293]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

Сергей Фролов пишет:
> В связи с этим и возник вопрос: на какие грабли в связи с этим я могу
> наступить, и как лучше их обойти?

Да много граблей. "Все не так" - лучшее описание, конечно.
Наверное, главное - это что в MSSQL одна транзакция на соединение,
а не произвольное число, как в IB/FB. Правда, что-то в этом направлении
MS делал в последнее время, но не знаю, сделал ли.

Ну и язык другой. Но идеологически IB/FB ближе к MS , наверное, чем,
скажем, DB2 или ORACLE.

Posted via ActualForum NNTP Server 1.4

18 май 08, 21:09    [5680111]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
Сергей Фролов
Member

Откуда:
Сообщений: 1608
А насчет разработки/отладки есть что-то уровня IBExpert (желательно бесплатное, ибо проект пока предвидится только один), или только через Visual Studio & Enterprise Manager?
18 май 08, 21:57    [5680206]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
mr.cardholder
Member

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

...
Ну и язык другой. Но идеологически IB/FB ближе к MS , наверное, чем,
скажем, DB2 или ORACLE.
...


Скорее наоборот, идеологически ближе всё же к Oracle нежели к MS и тем паче к DB2.
18 май 08, 22:20    [5680244]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
Dimitry Sibiryakov
Member

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

mr.cardholder

Скорее наоборот, идеологически ближе всё же к Oracle нежели к MS и тем
паче к DB2.

Что, в-общем-то логично, если учесть, что IB разрабатывалась с
заимствованием структур API из DB2. А с Оракулом у них практически общие
корни.

Posted via ActualForum NNTP Server 1.4

19 май 08, 12:30    [5682034]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
alex_k
Member

Откуда: krasnoyarsk
Сообщений: 6694
MasterZiv

Наверное, главное - это что в MSSQL одна транзакция на соединение,

серьезно? ужас какой :)
19 май 08, 14:51    [5683476]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
Sgt.Pepper
Member

Откуда: spb
Сообщений: 1166
alex_k
MasterZiv

Наверное, главное - это что в MSSQL одна транзакция на соединение,

серьезно? ужас какой :)

вранье... одна транзакция на весь сервер... зато ACID...
19 май 08, 15:06    [5683616]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
Sgt.Pepper
Member

Откуда: spb
Сообщений: 1166
в 9:00 стартует, в 18:00 коммитится... иногда откатывается...
19 май 08, 15:10    [5683647]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
SergePnb
Member

Откуда: Киев
Сообщений: 456
Sgt.Pepper
alex_k
MasterZiv

Наверное, главное - это что в MSSQL одна транзакция на соединение,

серьезно? ужас какой :)

вранье... одна транзакция на весь сервер... зато ACID...


Шутки шутят...
А серьезно, видел я как от FB к MSSQL шли, даже сам поучавствовал. Главная проблемма была в том что бы отказаться от построчного перебора записей FOR SELECT и перейти к чисто реляционному мироощущению, да еще блокировщик MSSQL, блокировщик... это тоже принять надо. А среда разработки... SSMS - больше ничего не надо.
19 май 08, 16:51    [5684646]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
SergePnb
да еще блокировщик MSSQL, блокировщик... это тоже принять надо


Уже давно по желанию клиента или блокировщик или версионник или два в одном. ;)
19 май 08, 17:28    [5684943]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

SergePnb пишет:

> А серьезно, видел я как от FB к MSSQL шли, даже сам поучавствовал.
> Главная проблемма была в том что бы отказаться от построчного перебора
> записей FOR SELECT и перейти к чисто реляционному мироощущению, да еще
> блокировщик MSSQL, блокировщик... это тоже принять надо. А среда
Уже нет. А вот транзакций в FB через одно соединение может работать
много. И фетчить одновременно можно несколько наборов данных (без серверных
курсоров всяких). В MS очень долго было нельзя. Не знаю, может и сейчас нельзя.

Posted via ActualForum NNTP Server 1.4

19 май 08, 17:30    [5684951]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
locky
Member

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

И фетчить одновременно можно несколько наборов данных (без серверных
курсоров всяких). В MS очень долго было нельзя. Не знаю, может и сейчас нельзя.

MARS?
19 май 08, 17:36    [5684996]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
hvlad
Member

Откуда:
Сообщений: 11553
SergePnb
А серьезно, видел я как от FB к MSSQL шли, даже сам поучавствовал. Главная проблемма была в том что бы отказаться от построчного перебора записей FOR SELECT и перейти к чисто реляционному мироощущению.
Это можно было сделать и на FB.
Главное - сначала хорошенько забыть FoxPro (или откуда пришли к FB)
19 май 08, 17:51    [5685107]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30253
автор
то бы отказаться от построчного перебора записей FOR SELECT и перейти к чисто реляционному мироощущению

что за чушь. можно подумать, на Firebird только так можно работать с данными?
19 май 08, 20:55    [5685810]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
SergePnb
Member

Откуда: Киев
Сообщений: 456
kdv
автор
то бы отказаться от построчного перебора записей FOR SELECT и перейти к чисто реляционному мироощущению

что за чушь. можно подумать, на Firebird только так можно работать с данными?


Не только так, но такая метода столь притягательна, что базы что я видел на FB/Yaffil/IB были постоенны чаще всего именно так. Не хочу никого оскорбить...
А то с чего начинался мой переход - это портирование логики FOR SELECT в DECLARE CURSOR и долгая борьба с таким этим. От этого и хочу предостречь автора. Если у него этого нет, то честь ему и хвала.
19 май 08, 21:30    [5685883]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
Сергей Фролов
Member

Откуда:
Сообщений: 1608
kdv
что за чушь. можно подумать, на Firebird только так можно работать с данными?

Это из разряда "где-то слышал звон"...
19 май 08, 21:31    [5685885]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
Сергей Фролов
Member

Откуда:
Сообщений: 1608
SergePnb
Если у него этого нет, то честь ему и хвала.

Почему же нет? Есть
Очень эффективно, но, естественно, не для огромных таблиц :)
19 май 08, 21:33    [5685889]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
SergePnb
Member

Откуда: Киев
Сообщений: 456
Сергей Фролов
флуда и холиваров не надо.

А именно к этому и идем... К FB никаких притезий не имею. Просто MS-SQL другой, другой и ... все! А то что пишу, так это только мой опыт, те грабли по которым сам потоптался и не хотел что бы автор там побывал :)
19 май 08, 21:35    [5685894]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30253
SergePnb
Не только так, но такая метода столь притягательна, что базы что я видел на FB/Yaffil/IB были постоенны чаще всего именно так. Не хочу никого оскорбить...

это никак не оскорбляет FB. Но. SQL - непроцедурный язык. PSQL - процедурный. Кроме того, обработка данных на сервере подразумевает именно их перебор.
Ну и, наконец, по моему опыту, многие разработчики вначале не воспринимают "реляционную теорию", т.е. при работе с SQL продолжают думать в стиле обычного программирования, где все построено на циклах типа
for i:=0 to ... do
  for j:=0 to ... do
А это прямиком транслируется в FOR SELECT.

SergePnb
портирование логики FOR SELECT в DECLARE CURSOR и долгая борьба с таким этим

в Firebird и InterBase что Select, что for select - никакой разницы в производительности. Насколько я в курсе, в MS SQL производительность declare cursor хуже select, т.к. используются другие механизмы.
Понятно, что с этим приходится бороться, но я не уверен, что 100% обработок, построенных на for select, можно перенести на SQL без declare cursor или аналогов.
Т.е. не смотря на мое высказывание про начинающих, процедурную обработку нельзя на 100% заменить непроцедурной. Я допускаю что это может DB2, но не все сервера обладают подобным синтаксисом.

Собственно, это было отступление. Да, FOR SELECT это один из проблемных моментов при переводе с Firebird на MS SQL. Как и declare cursor при обратном переводе. А люди, переходящие с ФБ на Оракл, жалуются что им не хватает "селективных процедур". Нет в жизни счастья...
19 май 08, 22:06    [5685956]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
Dimitry Sibiryakov
Member

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

А вот объясните мне, кто-нибудь, разницу между FB-шным FOR SELECT и
MS-ным DECLARE CURSOR. Сколько ни пялюсь в BOL - ничего кроме
потенциальной двунаправленности не вижу.

Posted via ActualForum NNTP Server 1.4

19 май 08, 23:35    [5686098]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
Сергей Фролов
Member

Откуда:
Сообщений: 1608
Принципиальной разницы, насколько я знаю, нет, но вот DECLARE CURSOR вроде как тормозит очень сильно.
19 май 08, 23:46    [5686117]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
Dimitry Sibiryakov
Member

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

Сергей Фролов

но вот DECLARE CURSOR вроде как тормозит очень сильно.

Тогда я действительно не понимаю зачем при портировании с FB переводить
FOR SELECT в DECLARE CURSOR вместо родного мелкомягкого селекта в очень
временную таблицу.

Posted via ActualForum NNTP Server 1.4

20 май 08, 12:38    [5687937]     Ответить | Цитировать Сообщить модератору
 Re: Переход с Firebird на MS SQL  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

locky пишет:

> И фетчить одновременно можно несколько наборов данных (без серверных
> курсоров всяких). В MS очень долго было нельзя. Не знаю, может и сейчас
> нельзя.
>
>
> MARS?
Да-да, они самые. Их таки сделали ?

Posted via ActualForum NNTP Server 1.4

20 май 08, 23:26    [5691642]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить