|
|
|
+- units month и ошибка -1267
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! В информиксе есть инструмент для работы с датами вида +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() и... ни ошибок, ничего - процесс просто исчезает. Ни в одном логе никаких записей, все равно, как будто сервис и не пробовал стартовать. Если сервис стартовать не автоматически а вручную, то, если сервис запускать хотя-бы через несколько секунд после старта системы, то все прекрасно работает. Сталкивался ли кто-нибудь с таким и чей это глюк и кому его репортить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 21:22 |
|
||
|
+- units month и ошибка -1267
|
|||
|---|---|---|---|
|
#18+
falcon111 но эта конструкция заложена в sql-запросы прикладного ПО Переписать запросы прикладном ПО. Другого выхода нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2006, 15:46 |
|
||
|
+- units month и ошибка -1267
|
|||
|---|---|---|---|
|
#18+
falcon111PPS: И еще одна проблема - правда, наверное, не в этот форум, но просто посоветуйте, куда обращаться. Проблема возникла, когда я один сервер запросов переписал(C++) в виде НТшного сервиса. Винда стартует - стартует сервис, код сервиса доходит до АПИ-вызова SQLConnect() и... ни ошибок, ничего - процесс просто исчезает. Ни в одном логе никаких записей, все равно, как будто сервис и не пробовал стартовать. Если сервис стартовать не автоматически а вручную, то, если сервис запускать хотя-бы через несколько секунд после старта системы, то все прекрасно работает. Сталкивался ли кто-нибудь с таким и чей это глюк и кому его репортить? Скорее всего, ваш сервис зависит еще от каких то системных сервисов, которые на данный момент (старт системы) еще не готовы. В таком случае нужно просто указать зависимость вашей службы от других и тогда ваша слежба будет запускаться только после говности головной (ых) служб(-ы). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2006, 15:31 |
|
||
|
+- units month и ошибка -1267
|
|||
|---|---|---|---|
|
#18+
falcon111В информиксе есть инструмент для работы с датами вида +5 units day, +1 units month и т.д. И все бы было хорошо, но, при использовании +-units month возникает ошибка -1267, в случае, если в исходных датах указано число, отсутствующее в результирующем месяце. Например, '27.01.2006'::date + 1 units month Некорректно смешивать units day и units month. Даже два типа datetime для этой цели. попробуй работать раздельно с год,месяц и день,часы,мин,сек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2006, 15:36 |
|
||
|
|

start [/forum/topic.php?fid=44&msg=33558662&tid=1608753]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 320ms |

| 0 / 0 |
