Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Переход с Firebird на MS SQL / 25 сообщений из 28, страница 1 из 2
17.05.2008, 23:27
    #35319006
Сергей Фролов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
Предупреждаю сразу: флуда и холиваров не надо.

Много лет работаю с Firebird, а сейчас есть необходимость разработки на MS SQL 2005.
В связи с этим и возник вопрос: на какие грабли в связи с этим я могу наступить, и как лучше их обойти?
...
Рейтинг: 0 / 0
18.05.2008, 13:54
    #35319231
Сергей Фролов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
Правда никто не знает, или выходной просто?
...
Рейтинг: 0 / 0
18.05.2008, 13:56
    #35319234
locky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
Основные грабли - "всё не так".
Откуда вывод - не искать аналоги, а сесть - и изучить с нуля.
Благо, времени на это нужно не так уж и много
...
Рейтинг: 0 / 0
18.05.2008, 21:09
    #35319559
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
Сергей Фролов пишет:
> В связи с этим и возник вопрос: на какие грабли в связи с этим я могу
> наступить, и как лучше их обойти?

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

Ну и язык другой. Но идеологически IB/FB ближе к MS , наверное, чем,
скажем, DB2 или ORACLE.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
18.05.2008, 21:57
    #35319597
Сергей Фролов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
А насчет разработки/отладки есть что-то уровня IBExpert (желательно бесплатное, ибо проект пока предвидится только один), или только через Visual Studio & Enterprise Manager?
...
Рейтинг: 0 / 0
18.05.2008, 22:20
    #35319611
mr.cardholder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
MasterZiv
...
Ну и язык другой. Но идеологически IB/FB ближе к MS , наверное, чем,
скажем, DB2 или ORACLE.
...

Скорее наоборот, идеологически ближе всё же к Oracle нежели к MS и тем паче к DB2.
...
Рейтинг: 0 / 0
19.05.2008, 12:30
    #35320310
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
mr.cardholder
Скорее наоборот, идеологически ближе всё же к Oracle нежели к MS и тем
паче к DB2.

Что, в-общем-то логично, если учесть, что IB разрабатывалась с
заимствованием структур API из DB2. А с Оракулом у них практически общие
корни.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
19.05.2008, 14:51
    #35320872
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
MasterZiv
Наверное, главное - это что в MSSQL одна транзакция на соединение,

серьезно? ужас какой :)
...
Рейтинг: 0 / 0
19.05.2008, 15:06
    #35320934
Sgt.Pepper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
alex_k MasterZiv
Наверное, главное - это что в MSSQL одна транзакция на соединение,

серьезно? ужас какой :)
вранье... одна транзакция на весь сервер... зато ACID...
...
Рейтинг: 0 / 0
19.05.2008, 15:10
    #35320951
Sgt.Pepper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
в 9:00 стартует, в 18:00 коммитится... иногда откатывается...
...
Рейтинг: 0 / 0
19.05.2008, 16:51
    #35321383
SergePnb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
Sgt.Pepper alex_k MasterZiv
Наверное, главное - это что в MSSQL одна транзакция на соединение,

серьезно? ужас какой :)
вранье... одна транзакция на весь сервер... зато ACID...

Шутки шутят...
А серьезно, видел я как от FB к MSSQL шли, даже сам поучавствовал. Главная проблемма была в том что бы отказаться от построчного перебора записей FOR SELECT и перейти к чисто реляционному мироощущению, да еще блокировщик MSSQL, блокировщик... это тоже принять надо. А среда разработки... SSMS - больше ничего не надо.
...
Рейтинг: 0 / 0
19.05.2008, 17:28
    #35321523
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
SergePnbда еще блокировщик MSSQL, блокировщик... это тоже принять надо

Уже давно по желанию клиента или блокировщик или версионник или два в одном. ;)
...
Рейтинг: 0 / 0
19.05.2008, 17:30
    #35321528
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
SergePnb пишет:

> А серьезно, видел я как от FB к MSSQL шли, даже сам поучавствовал.
> Главная проблемма была в том что бы отказаться от построчного перебора
> записей FOR SELECT и перейти к чисто реляционному мироощущению, да еще
> блокировщик MSSQL, блокировщик... это тоже принять надо. А среда
Уже нет. А вот транзакций в FB через одно соединение может работать
много. И фетчить одновременно можно несколько наборов данных (без серверных
курсоров всяких). В MS очень долго было нельзя. Не знаю, может и сейчас нельзя.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
19.05.2008, 17:36
    #35321549
locky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
MasterZiv
И фетчить одновременно можно несколько наборов данных (без серверных
курсоров всяких). В MS очень долго было нельзя. Не знаю, может и сейчас нельзя.

MARS?
...
Рейтинг: 0 / 0
19.05.2008, 17:51
    #35321586
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
SergePnbА серьезно, видел я как от FB к MSSQL шли, даже сам поучавствовал. Главная проблемма была в том что бы отказаться от построчного перебора записей FOR SELECT и перейти к чисто реляционному мироощущению.Это можно было сделать и на FB.
Главное - сначала хорошенько забыть FoxPro (или откуда пришли к FB)
...
Рейтинг: 0 / 0
19.05.2008, 20:55
    #35321862
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
авторто бы отказаться от построчного перебора записей FOR SELECT и перейти к чисто реляционному мироощущению
что за чушь. можно подумать, на Firebird только так можно работать с данными?
...
Рейтинг: 0 / 0
19.05.2008, 21:30
    #35321900
SergePnb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
kdv авторто бы отказаться от построчного перебора записей FOR SELECT и перейти к чисто реляционному мироощущению
что за чушь. можно подумать, на Firebird только так можно работать с данными?

Не только так, но такая метода столь притягательна, что базы что я видел на FB/Yaffil/IB были постоенны чаще всего именно так. Не хочу никого оскорбить...
А то с чего начинался мой переход - это портирование логики FOR SELECT в DECLARE CURSOR и долгая борьба с таким этим. От этого и хочу предостречь автора. Если у него этого нет, то честь ему и хвала.
...
Рейтинг: 0 / 0
19.05.2008, 21:31
    #35321901
Сергей Фролов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
kdvчто за чушь. можно подумать, на Firebird только так можно работать с данными?
Это из разряда "где-то слышал звон"...
...
Рейтинг: 0 / 0
19.05.2008, 21:33
    #35321904
Сергей Фролов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
SergePnbЕсли у него этого нет, то честь ему и хвала.
Почему же нет? Есть
Очень эффективно, но, естественно, не для огромных таблиц :)
...
Рейтинг: 0 / 0
19.05.2008, 21:35
    #35321906
SergePnb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
Сергей Фроловфлуда и холиваров не надо.
А именно к этому и идем... К FB никаких притезий не имею. Просто MS-SQL другой, другой и ... все! А то что пишу, так это только мой опыт, те грабли по которым сам потоптался и не хотел что бы автор там побывал :)
...
Рейтинг: 0 / 0
19.05.2008, 22:06
    #35321944
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
SergePnbНе только так, но такая метода столь притягательна, что базы что я видел на FB/Yaffil/IB были постоенны чаще всего именно так. Не хочу никого оскорбить...
это никак не оскорбляет FB. Но. SQL - непроцедурный язык. PSQL - процедурный. Кроме того, обработка данных на сервере подразумевает именно их перебор.
Ну и, наконец, по моему опыту, многие разработчики вначале не воспринимают "реляционную теорию", т.е. при работе с SQL продолжают думать в стиле обычного программирования, где все построено на циклах типа
Код: plaintext
1.
2.
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 при обратном переводе. А люди, переходящие с ФБ на Оракл, жалуются что им не хватает "селективных процедур". Нет в жизни счастья...
...
Рейтинг: 0 / 0
19.05.2008, 23:35
    #35322022
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
А вот объясните мне, кто-нибудь, разницу между FB-шным FOR SELECT и
MS-ным DECLARE CURSOR. Сколько ни пялюсь в BOL - ничего кроме
потенциальной двунаправленности не вижу.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
19.05.2008, 23:46
    #35322034
Сергей Фролов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
Принципиальной разницы, насколько я знаю, нет, но вот DECLARE CURSOR вроде как тормозит очень сильно.
...
Рейтинг: 0 / 0
20.05.2008, 12:38
    #35322942
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
Сергей Фролов
но вот DECLARE CURSOR вроде как тормозит очень сильно.

Тогда я действительно не понимаю зачем при портировании с FB переводить
FOR SELECT в DECLARE CURSOR вместо родного мелкомягкого селекта в очень
временную таблицу.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
20.05.2008, 23:26
    #35324698
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход с Firebird на MS SQL
locky пишет:

> И фетчить одновременно можно несколько наборов данных (без серверных
> курсоров всяких). В MS очень долго было нельзя. Не знаю, может и сейчас
> нельзя.
>
>
> MARS?
Да-да, они самые. Их таки сделали ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Переход с Firebird на MS SQL / 25 сообщений из 28, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]