|
|
|
Практический опыт перехода от MSS к ADO.NET 2.0
|
|||
|---|---|---|---|
|
#18+
Может кому пригодится... Большой проект перевели где-то за две недели (хвосты еще подчищали какое-то время). Работает устойчиво уже 2 месяца. Обнаруженные проблемы при переходе от MSS к ADO.Net: 1. В SQL (эмбедед и в DataSource) заменить двойные кавычки (") на одинарные ('). 2. В конструкциях dw.GetSQLSelect () - dw.Modify("DataWindow.Table.Select='" + new_sql_script + "'") заменить в new_sql_script '"' на "~~'". 3. Заменить в эмбедед фетчах, где есть внутри цикла SQL, сами фетчи на цикл по датасторе (например). 4. При чтении из ячейки DW строки (в БД тип char(xx)) в переменную возможно добавление пробелов справа (ставить trim): (устраняется DBParm = ..................,TrimSpaces=1) 5. Возможны проблемы с Юникодом при чтении текстовых файлов (устраняется в ф-ии string новым параметром: encoding = EncodingANSI! . 6. В Адо.нет при апдеёте дв автоматически не ретривятся колонки с идентити (в оле диби - ретривятся). Используйте SELECT SCOPE_IDENTITY() (а лучше так не пишите!). 7. При выполнении длинных (> 30 сек) SP из скрипта вываливается ошибка тайм-аута. Лечится добавлением DBParm = ...,Timeout=160,CommandTimeout=160 или типа того. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 10:54 |
|
||
|
Практический опыт перехода от MSS к ADO.NET 2.0
|
|||
|---|---|---|---|
|
#18+
Есть вопросы: 1. Какой PowerBuilder ? 2. Сравнивали производительность систем на базе MSS к ADO.NET 2.0 ? Приведи цифры, плиз... 3. В ADO.NET 2.0 есть асинхронный режим работы с базой? Не помню, кто на этом форуме говорил, но якобы в ADO.NET 2.0 он должен появиться... 4. Ты классику читать любишь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 11:27 |
|
||
|
Практический опыт перехода от MSS к ADO.NET 2.0
|
|||
|---|---|---|---|
|
#18+
Black SavageЕсть вопросы: 1. Какой PowerBuilder ? Естественно, переходили с 9 на 10, иначе к чему это все? Black Savage 2. Сравнивали производительность систем на базе MSS к ADO.NET 2.0 ? Приведи цифры, плиз... Цифр не приведу. Примерно одного порядка. Хотя пользовали хвалили, что быстрее и стабильнее стало работать. Если кто-нибудь запостит какой бенчмарк, могу сравнить и доложить обчеству. Black Savage 3. В ADO.NET 2.0 есть асинхронный режим работы с базой? Не помню, кто на этом форуме говорил, но якобы в ADO.NET 2.0 он должен появиться...? Асинхронным режимом не пользуемся, ничего сказать не могу. Black Savage 4. Ты классику читать любишь? Это не классика. Это мой человек тред начинал. С высказыванием Филиппа можно поспорить - не убедительно. У меня свои соображения. Но спорить нет времени. Плюс к тому в оле дб свои тараканы. Мы щупали его в процессе перехода. На NET проще пошлО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 13:10 |
|
||
|
Практический опыт перехода от MSS к ADO.NET 2.0
|
|||
|---|---|---|---|
|
#18+
Nividimka Асинхронным режимом не пользуемся, ничего сказать не могу. Слушай, глянь все же на это дело, если не в лом. Интересует с позиции: Cancel the statement before it retrieves the first row of data Ну ладно, еще один вопрос. Характеристики клиентских машин: 1. Железо. 2. Какие операционки. 3. Для Win9x еще и .Net Framework ножен, если я не ошибаюсь. Как .Net Framework крутится под старенькими операционками? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 14:24 |
|
||
|
Практический опыт перехода от MSS к ADO.NET 2.0
|
|||
|---|---|---|---|
|
#18+
Black SavageНу ладно, еще один вопрос. Характеристики клиентских машин: 1. Железо. 2. Какие операционки. 3. Для Win9x еще и .Net Framework ножен, если я не ошибаюсь. Как .Net Framework крутится под старенькими операционками? Вроде же приложения на 10 билдере не будут работать на Win9x или я что-то путаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 15:22 |
|
||
|
Практический опыт перехода от MSS к ADO.NET 2.0
|
|||
|---|---|---|---|
|
#18+
E-docВроде же приложения на 10 билдере не будут работать на Win9x или я что-то путаю? Не путаешь (и на NT, кстати, тоже). Я бы сказал, это общеизвестный факт ;). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 15:44 |
|
||
|
Практический опыт перехода от MSS к ADO.NET 2.0
|
|||
|---|---|---|---|
|
#18+
Black Savage Nividimka Асинхронным режимом не пользуемся, ничего сказать не могу. Слушай, глянь все же на это дело, если не в лом. Интересует с позиции: Cancel the statement before it retrieves the first row of data Да заради бога. Только я даже не знаю, с какого бока к нему подлезть. Ты бы какое-нибудь маленькое приложенице накрапал и прикрепил - я тогда берусь его погонять. Black Savage Ну ладно, еще один вопрос. Характеристики клиентских машин: 1. Железо. 2. Какие операционки. 3. Для Win9x еще и .Net Framework ножен, если я не ошибаюсь. Как .Net Framework крутится под старенькими операционками? У нас все машины в домене и под 2000-XP. Так что совсем уж старых с 9x уже нет. Самые старые (с которыми реально работают) P166 MMX 128M. Разницы по требованиям к железке между PB9 MSS - PB10 ADO NET нет (иначе заметили бы). На клиента надо ставить PBVM (мы просто выборочно dll-ки от PB копируем) и Microsoft .NET Framework 2.0 Beta (build 2.0.40607) с сайта MS (жутко долго инсталлируется) и всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 15:56 |
|
||
|
Практический опыт перехода от MSS к ADO.NET 2.0
|
|||
|---|---|---|---|
|
#18+
E-doc Вроде же приложения на 10 билдере не будут работать на Win9x или я что-то путаю? Хм... Раньше думал, что сама среда разработки PB10 не работает на Win9x , а клиенты шуршат... Даже не поверил сначала, сделал сборку на десятке, запустил на Win98 ... Видимо, этот замечательный факт прошел мимо меня ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 16:38 |
|
||
|
Практический опыт перехода от MSS к ADO.NET 2.0
|
|||
|---|---|---|---|
|
#18+
.net framework на win9x/winnt4 ставится нормально (1.2 вроде). Другое дело, что framework SDK не хочет устанавливаться. Так они скоро и win2000 подерживать перестанут! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 18:40 |
|
||
|
Практический опыт перехода от MSS к ADO.NET 2.0
|
|||
|---|---|---|---|
|
#18+
Прошу прощения за несколько странный вопрос. Просто меня терзают смутные сомнения... Мы у себя переодически обсуждаем тему перехода с PowerBuilder 9 и MSS Microsoft SQL Server на PowerBuilder 10 и OLE DB уже определили те проблемы, которые возникнут при переходе. Но вот не давно, подкинули еще информацию к размышлению. Если у некоторых, возможно не у всех, полей в базе стоит COLLATE Cyrillic_General_BIN , а у самой базы стоит юникодная кодовая страница, то возникают проблемы с индексами в базе и она, через какой-то промежуток времени благополучно рушится. У нас у многих полей проставлено COLLATE Cyrillic_General_BIN . Понимаю, что напрямую вопрос не связан с PowerBuilder 10 . Но, черт его знает, может захотим/будем/должны поменять кодовую страницу... Вообще, при работе с PowerBuilder 10 и ADO.NET 2.0 наблюдались ли какие-то глюки из-за COLLATE Cyrillic_General_BIN ? Какая кодовая страница используется у вас на сервер? Еще раз сорри за этот бред... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2005, 17:05 |
|
||
|
Практический опыт перехода от MSS к ADO.NET 2.0
|
|||
|---|---|---|---|
|
#18+
У нас на всей БД стоит COLLATE Cyrillic_General_CI_AS. Но мы меняли коллейшен несколько лет назад с Cyrillic_General_CI_AI. Его конечно муторно менять, но вполне реально. На некоторых таблицах так и оставили старый (где не критично). Просто лениво было менять. Разница стреляет только на временных таблицах (при сравнении колейшены должны совпадать с tempdb). На такое давно уже на моей памяти не напарывались. Вызвать эту ошибку можно таким скриптом из QA: /* При несоответсвии будет выдаваться ошибка: Server: Msg 446, Level 16, State 9, Line 15 Cannot resolve collation conflict for equal to operation. Скрипт запускать 1-н раз за сеанс! (иначе в темпдб остается таблица #tt2) */ IF EXISTS (SELECT name FROM sysobjects WHERE name = 'tt1' and type = 'U' ) BEGIN DROP TABLE tt1 END CREATE TABLE tt1 ( id int, W varchar(10) ) INSERT tt1 VALUES (1, '2345') CREATE TABLE #tt2 ( id int, W varchar(10) ) INSERT #tt2 VALUES (2, '2345') SELECT * FROM tt1, #tt2 WHERE tt1.W = #tt2.W GO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2005, 18:17 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=32986517&tid=1338451]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 421ms |

| 0 / 0 |
