Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / +- units month и ошибка -1267 / 4 сообщений из 4, страница 1 из 1
17.02.2006, 21:22
    #33553478
falcon111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+- units month и ошибка -1267
Здравствуйте!

В информиксе есть инструмент для работы с датами вида +5 units day, +1 units month и т.д.
И все бы было хорошо, но, при использовании +-units month возникает ошибка -1267, в случае, если в исходных датах указано число, отсутствующее в результирующем месяце.
Например, '27.01.2006'::date + 1 units month
дает 27.02.2006, все красиво.
А вот если вместо 27.01.2006 использовать 30.01.2006, то при вычислении возникает ошибка -1267

Можно как-то настроить вычисления, чтобы оно "думало", что делать со днем, и выдавало последний день месяца вместо ошибки? В процедурах-то это не проблема, хоть и через одно место, но можно по эксцепшену -1267 брать последний день месяца и продолжать вычисления, но эта конструкция заложена в sql-запросы прикладного ПО, поэтому не все так просто. Подскажите, плиз, как решить эту ситуацию?

PS: Informix 9.40TC3

PPS: И еще одна проблема - правда, наверное, не в этот форум, но просто посоветуйте, куда обращаться.
Проблема возникла, когда я один сервер запросов переписал(C++) в виде НТшного сервиса. Винда стартует - стартует сервис, код сервиса доходит до АПИ-вызова SQLConnect() и... ни ошибок, ничего - процесс просто исчезает. Ни в одном логе никаких записей, все равно, как будто сервис и не пробовал стартовать. Если сервис стартовать не автоматически а вручную, то, если сервис запускать хотя-бы через несколько секунд после старта системы, то все прекрасно работает.

Сталкивался ли кто-нибудь с таким и чей это глюк и кому его репортить?
...
Рейтинг: 0 / 0
18.02.2006, 15:46
    #33553931
Daugava
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+- units month и ошибка -1267
falcon111 но эта конструкция заложена в sql-запросы прикладного ПО
Переписать запросы прикладном ПО. Другого выхода нет.
...
Рейтинг: 0 / 0
21.02.2006, 15:31
    #33558662
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+- units month и ошибка -1267
falcon111PPS: И еще одна проблема - правда, наверное, не в этот форум, но просто посоветуйте, куда обращаться.
Проблема возникла, когда я один сервер запросов переписал(C++) в виде НТшного сервиса. Винда стартует - стартует сервис, код сервиса доходит до АПИ-вызова SQLConnect() и... ни ошибок, ничего - процесс просто исчезает. Ни в одном логе никаких записей, все равно, как будто сервис и не пробовал стартовать. Если сервис стартовать не автоматически а вручную, то, если сервис запускать хотя-бы через несколько секунд после старта системы, то все прекрасно работает.
Сталкивался ли кто-нибудь с таким и чей это глюк и кому его репортить?
Скорее всего, ваш сервис зависит еще от каких то системных сервисов, которые на данный момент (старт системы) еще не готовы. В таком случае нужно просто указать зависимость вашей службы от других и тогда ваша слежба будет запускаться только после говности головной (ых) служб(-ы).
...
Рейтинг: 0 / 0
21.02.2006, 15:36
    #33558676
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+- units month и ошибка -1267
falcon111В информиксе есть инструмент для работы с датами вида +5 units day, +1 units month и т.д.
И все бы было хорошо, но, при использовании +-units month возникает ошибка -1267, в случае, если в исходных датах указано число, отсутствующее в результирующем месяце.
Например, '27.01.2006'::date + 1 units month
Некорректно смешивать units day и units month.
Даже два типа datetime для этой цели.
попробуй работать раздельно с год,месяц и день,часы,мин,сек
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / +- units month и ошибка -1267 / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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