|
DataWindow.NET
|
|||
---|---|---|---|
#18+
Коллеги, приветствую! Образовался тут вопросец. Есть приложение, созданное на C# + DW.NET v 1.5.1 Build 9004, база - MS SQL 2005. Логика реализована на процедурах/функциях в БД. Проблема обнаружилась в том, что при расчетах в очень многих местах используется float. И вот, "поймали" место, в котором этот самый float сыграл злую шутку - выдает ошибку деления на ноль. Но выдает ее только если запрос выполняется из DW в приложении или из дезайнера. При выполнении того же запроса через студию - все отлично! :( Сам запрос делается из функции, если что: Код: sql 1. 2.
Функция возвращает таблицу. Коннект осуществляется вот так: Код: c# 1. 2. 3.
В дизайнере профайл настроен вот так: Код: c# 1. 2. 3. 4. 5. 6.
Собственно, решение понятно - избавляться от float. Но это достаточно долго, а ошибку надо пофиксить быстро. Хоть "костылем", но быстро. А потом уже и по уму переделывать можно. Собственно, в том и вопрос: что можно сделать? Может, какие настройки коннекта применить, какой-нибудь параметр в каком DW.NET'ном ini-шнике поправить, еще какие танцы с бубном предпринять? ------------ С уважением, IKAR IkarHomeCenter ........ Детский Дворик ........ ГавГав.Инфо .................................. Винтовка.ру .................................. Портал русскоязычной группы пользователей Sybase ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2015, 17:01 |
|
DataWindow.NET
|
|||
---|---|---|---|
#18+
Вообще конечно нехорошо так делать, но в принципе в функцию попробовать написать SET ARITHABORT OFF и SET ANSI_WARNINGS OFF. Хотя этот путь ведет в никуда:) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2015, 17:26 |
|
DataWindow.NET
|
|||
---|---|---|---|
#18+
Ikar, ради эксперимента, попробуйте ODBC. Есть некоторые косвенные соображения. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2015, 15:23 |
|
DataWindow.NET
|
|||
---|---|---|---|
#18+
Проблема продолжает "баловать шаманизмом" - сегодня она не воспроизводится. Будем ждать - то ли воспроизведется и снова искать, как выкрутиться, то ли спокойно успеем исправить причину и забудем об этом. spas2001Вообще конечно нехорошо так делать, но в принципе в функцию попробовать написать SET ARITHABORT OFF и SET ANSI_WARNINGS OFF. Хотя этот путь ведет в никуда:) Влад, привет! Ну, во первых, внутри функций SET'ы нельзя делать, так что, только если для всей базы отключать. А это, да, действительно путь в никуда... :( Хотя, если ничего другого придумать не удастся, то, на время исправлений, наверное, придется... Raven AIkar, ради эксперимента, попробуйте ODBC. Есть некоторые косвенные соображения. А можно подробнее о соображениях? Пока пробовать бессмысленно, как я писал выше, воспроизводиться ошибка перестала, но если (тьфу-тьфу-тьфу) снова проявится, попробую, из дизайнера DW. Влад, Raven, спасибо за ответы! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2015, 09:57 |
|
DataWindow.NET
|
|||
---|---|---|---|
#18+
Hi, Ikar Это не совет, а именно предложение попробовать другой драйвер // потёртый бубен, а вдруг :) Просто несколько раз была ситуация, когда, в зависимости от драйвера (MSS, OLE DB, ODBC) или среды( PB or VS), запрос возвращал разный recordset. Это не Ваш случай, но возникла цепочка ассоциаций: база - запрос - среда выполнения - баг ... бубен. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2015, 15:29 |
|
DataWindow.NET
|
|||
---|---|---|---|
#18+
Вообще, я думаю везде где деление пока case с -1 написать, чтобы сразу было видно где делится на 0 А среда где дизайнер открывался одинаковая? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2015, 16:02 |
|
|
start [/forum/topic.php?fid=15&msg=39058895&tid=1335240]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 267ms |
0 / 0 |