Компьютерное, дурацкое.
Jun. 4th, 2008 04:29 pmПерестала работать одна программа. Скажем, тот кусок, что перестал - сделан в виде базы MS Access.
Ну перестала и перестала, надо разбираться. (дальше неинтересно и скучно)
Выясняется, что в базе есть пяток клиентов, у которых вместо ИНН забили номер паспорта. Ну забили и забыли, это было сто лет назад, искать их и выяснять инн никто не будет. Именно эти клиенты "не закачиваются". Номера паспортоа, соответственно, в виде "22 03 12345", с пробелами. Подозрения пали на пробелы.
Смотрю - раньше эти же клиенты в эту самую программу попадали. А теперь - не попадают, ошибка в ИНН. Причём на "человеческих" машинах эти клиенты конвертируются как надо, на сервере - нет. Версия Access-а и там и сям одинакова.
Возникло предположение, что виноваты региональные настройки Windows-а. И точно - на сервере стоит английская система, установки для США. Поставил, что "Россия" - стало закачиваться всё, как надо, то есть, вот эти же цифирки с пробелами - как миленькие лежат в Access-ной базе.
То есть, получается, что в русской настройке указано, что разделитель между "тысячами" в числе - пробел. Соответственно, "22 03 12345" считается валидным числом, и ровно так в базу кладётся.
В американской же настройке разделитель групп разрядов установлен в "точку"
Хорошо, поправил, заработало. Но что же раньше-то оно никому не мешало?...
Что делал за последние пару дней? Менял задание в scheduler-е, которое и запускает этот самый расчёт.
Оказалось, что задание на расчёт в Scheduler windows-а я вводил года полтора назад. Тогда у нас были свои имена пользователей. С тех пор появилась необходимость упорядочить задание имён доменных пользователей по всем филиалам, соответственно, все мы получили новые имена. И вчера я заходил на этот сервер уже с другим доменными именем. И, когда я пересоздавал задание, получилось, что запускается оно уже с другими параметрами окружения, в частности - с американской "культурной средой").
В общем, как обычно, ССЗБ (сам себе злобный буратин).
Но ситуация глупейшая.
Ну перестала и перестала, надо разбираться. (дальше неинтересно и скучно)
Выясняется, что в базе есть пяток клиентов, у которых вместо ИНН забили номер паспорта. Ну забили и забыли, это было сто лет назад, искать их и выяснять инн никто не будет. Именно эти клиенты "не закачиваются". Номера паспортоа, соответственно, в виде "22 03 12345", с пробелами. Подозрения пали на пробелы.
Смотрю - раньше эти же клиенты в эту самую программу попадали. А теперь - не попадают, ошибка в ИНН. Причём на "человеческих" машинах эти клиенты конвертируются как надо, на сервере - нет. Версия Access-а и там и сям одинакова.
Возникло предположение, что виноваты региональные настройки Windows-а. И точно - на сервере стоит английская система, установки для США. Поставил, что "Россия" - стало закачиваться всё, как надо, то есть, вот эти же цифирки с пробелами - как миленькие лежат в Access-ной базе.
То есть, получается, что в русской настройке указано, что разделитель между "тысячами" в числе - пробел. Соответственно, "22 03 12345" считается валидным числом, и ровно так в базу кладётся.
В американской же настройке разделитель групп разрядов установлен в "точку"
Хорошо, поправил, заработало. Но что же раньше-то оно никому не мешало?...
Что делал за последние пару дней? Менял задание в scheduler-е, которое и запускает этот самый расчёт.
Оказалось, что задание на расчёт в Scheduler windows-а я вводил года полтора назад. Тогда у нас были свои имена пользователей. С тех пор появилась необходимость упорядочить задание имён доменных пользователей по всем филиалам, соответственно, все мы получили новые имена. И вчера я заходил на этот сервер уже с другим доменными именем. И, когда я пересоздавал задание, получилось, что запускается оно уже с другими параметрами окружения, в частности - с американской "культурной средой").
В общем, как обычно, ССЗБ (сам себе злобный буратин).
Но ситуация глупейшая.