SP4 problem

10 отговора 238 прегледа
#1

SP4 problem

След инсталация на SP4 на W2K се скапа:

1. системната дата на windows, в следствие на което спряха да ми работят функциите за работа с дата (day, month, formatdatetime...). Опитите да бъде настроена от regional options работеха на случаен принцип (нищо общо между regional options / date, time и действителността)

2. decimal separator-а стана запетая. Отново - никакво влияние от настройката в regional options, седи запетая и не мърда. Резултат - можете да се сетите какво става при INSERT INTO A(a,b,c) VALUES(1,3 , 2,3 , 3,4) + това спира да ми работи cdbl когато имам точка. Т.е. cdbl(3.5) => type mismatch 'cdbl'.

Нямам никаква идея откъде накъде някакъв тъп патч ще се вре в моите regional settings, ще ми ги променя както му изнася и после няма да позволява въстановяване на оригиналната настройка.



Отговор
в отговор на dzver #2

Uninstall и...

се оправи веднага

Отговор
в отговор на dzver #3

Re: SP4 problem

За каква база иде реч?

чети и дишай по-леко
Отговор
в отговор на dzver #4

Малко

не изоставаш ли с това СДБЛ ? Или не работиш под .НЕТ - не разбирам защо не ползваш СТАЙП преобразуване, нито защо не си настройваш КЪЛЧЪР - според твоите желания ?

UB40 !
Отговор
в отговор на jamie #5

Re: Малко

не ползвам нет, а КЪЛЧЪР не знам какво е. sorry, не те разбирам. поясни моля те.

ps (добавено по-късно). cdbl ползвам за да бъде променливата дабъл, когато взимам стойността от стринг, който е numeric и да получа грешка, ако нещо не е наред. Наистина не разбирам какво точно ме питаш и какво ми каза, и наистина те моля да поясниш. Очевидно имаш информация за неща, които са ми непознати, независимо дали става въпрос за значението на 1 термин или на цяла сфера от асп.

Редактирано от dzver на

Отговор
в отговор на dzver #6

Re: Малко

Няма смисъл - говоря за сферата на АСП.НЕТ и нещата не са приложими в АСП.
Не се обиждай, НИЩО общо няма ;-)))

А иначе вместо да има грешка може просто да проверяваш IsNumeric.

UB40 !
Отговор
в отговор на jamie #7

Re: Малко

чел съм manuals за ASP.NET, но никога не съм го използвал
преминаването на ASP.NET съм склонен да направя при крайна необходимост, когато започна да имам ползи от това.

разбира се, правя проверка за isnumeric преди да направя cdbl, но това по никакъв начин не спестява нуждата от cdbl :))

Отговор
в отговор на dzver #8

При мен

се наложи да мина на .НЕТ :-))
Жалко че не го направих по-рано - само това ще кажа.

Ок за Нюмерик, но тази проверка ти решава проблема с числата и може да разчиташ че ако мине - числото е в скоупа на Дабъл.

UB40 !
Отговор
в отговор на jamie #9

Re: При мен

ne, ne e!

probvaj isnumeric(request.form("WAHTEASFDAWERAWERAWEFAWe")) (koeto ochevidno e prazen string)
shte vurne TRUE
isnumeric("239052835284952403950294502945092049502395") syshto

Отговор
в отговор на dzver #10

Re: SP4 problem

Бати..

Мамо луд съм, ям паркет...
... и маслини!
[линк]
Отговор
в отговор на dzver #11

и пак се случи

след като колега пуснал windows update.

този път по-изчерпателен анализ, помолих няколко познати за помощ, за които знам че са разбирачи (специални благодарности за Pechenia)

regional options се съхраняват в registry на няколко места;
същественото е v hkey_users/.default/control panel/international key sdecimal
sdecimal се среща и в hkey_current_user, при мен го има и в 1 key със странно име от сорта на 98354a-1409203fa-afjefjawkefj-134138 - цифри и букви.

При мен на всички тези места е коректният sdecimal ".", а не некоректният ",".

.vbs file със съдържание:
msgbox 1/2
alert-ва 0.5 - коректно, с точка. Това за мен категорично означава, че проблемът е локален на IIS/ASP, предизвикан от неправилна работа на windows update :(

ASP поддържа функция setlocale, която би трябвало за текущия скрипт да възприема дефолтите за даден location,

пробвах setlocale("en-gb") - резултатът трябваше да е sdecimal "." и валутен символ Лира, но sdecimal остана ",". Не намерих описана употребата на функцията setlocaleinfo, с която трябва да може да се сетне locale_sdecimal default за bg зона примерно през .vbs. Това е едно от вероятните решения.

Uninstall 1 по 1 на нещата доведе до оправяне на проблема чак след премахване и на първия инсталиран от групата fix-ове.

Редактирано от dzver на

Отговор