|
|
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
Коллеги, подскажите как бороться с дурью... Среда - PocketBuilder 2.0.1, ASA - 9.0.2 Есть запрос с аргументом типа Date на выборку данных SELECT "way_bills"."wbil_date", "way_bills"."wbil_number", "clients"."short_name", "way_bills"."wbil_id" FROM "clients", "way_bills" WHERE ( "way_bills"."clnt_clnt_id" = "clients"."clnt_id" ) and ( ( "way_bills"."wbtp_wbtp_id" = :WbtpId ) AND ( "way_bills"."del_date" is null ) AND ( "way_bills"."store_store_id" = :StoreId ) AND ( "way_bills"."wbil_date" >= :StartDate ) ) При выходе из "мастерской" работы с запросами постоянно вонзникает сообщение об ошибке "Не могу конвертировать 14.07.1990 to timestamp" с предложением ее исправить ("только как и на что"?). Дальше больше: говорю не надо править, возвращаюсь в DW, запускаю приложение на ноутбуке - все классно и работает (несмотря на ошибку). Запускаю на КПК - получаю "не могу конвертировать 09.06.2005 to timestamp" Как бороться с этим............ К сожалению последний раз работал с PowerBuilder в конце 90-х годов, с тех пор был большой перерыв и вот все заново..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 14:43 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
Попробуй изменить тип аргумента на datetime ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 15:00 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
"только как и на что"? Там же в "мастерской" работы с запросами. Очевидно это переменная :StartDate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 15:03 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
А может попробовать явно задать формат в DBParm ? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 15:04 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
ЗоринАндрейА может попробовать явно задать формат в DBParm ? Код: plaintext Пробовал, не спасает. На настольном ПК работает, на КПК - нет. Попробуй изменить тип аргумента на datetime сегодня, 15:00 Там же в "мастерской" работы с запросами. Очевидно это переменная :StartDate И это пробовал, также не спасает. Бред какой то. Пробовал даже определить параметр как String, а потом в запросе писать Date(:StartDate). Только в этом случае случае выдает "не могу конвертировать 0 в timestamp" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 15:31 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
Это конечно через ж...у, но если возможно, измени тип поля в базе с timestamp на date или datetime. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 15:44 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
Если я все правильно перепутал, аналогичная ситуация,причем именно с таким числом (14.07.1990), возникала при попытках модификации sql-запроса в пятой версии PB в Win9x. При создании DW ошибок не было. Обходили это дело как обычно - через экспорт в файл. Со строкой тоже можно попробовать поработать, только я бы явно указал вот такой формат Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 15:52 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
Прохожий1111Это конечно через ж...у, но если возможно, измени тип поля в базе с timestamp на date или datetime. Будете смеяться, но... Пробовал менять тип поля wbil_date с даты на DateTime. На Timestamp не пробовал, но думаю, что не спасет. Может еще какие-то мысли будут или опять в Sybase обращаться???????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 15:52 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
PL99Если я все правильно перепутал, аналогичная ситуация,причем именно с таким числом (14.07.1990), возникала при попытках модификации sql-запроса в пятой версии PB в Win9x. При создании DW ошибок не было. Обходили это дело как обычно - через экспорт в файл. Не понял, как это спасет от беды. Т.е. дальше то что??? Со строкой тоже можно попробовать поработать, только я бы явно указал вот такой формат Код: plaintext Пробовать не пробовал, но уж больно как то влом руками все приводить к этому формату. Ввел человек в окне ввода критерий отбора в формате "09.06.02005", а мне его переворачивать!!!?? Формат "dd.mm.yyy hh:mm:ss" как-то привычнее.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 15:57 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
если вы работаете в Oracle можно еще попробовать так: "way_bills"."wbil_date" >= to_date(:StartDate, "дд/мм/гггг") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 17:09 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
pbdeveloperесли вы работаете в Oracle можно еще попробовать так: "way_bills"."wbil_date" >= to_date(:StartDate, "дд/мм/гггг") Если бы я работал в любимом мною Оракле я бы горя не знал. Это то мы знаем, плавали. А здесь ASA 9.0.2 да еще под КПК. Сказано в начале сообщения. И главное тут явно проблема не в базе, а в PocketBuilder. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 17:12 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
pbdeveloperесли вы работаете в Oracle можно еще попробовать так: "way_bills"."wbil_date" >= to_date(:StartDate, "дд/мм/гггг") А кто мешает для ASA аналогично написать: Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 17:19 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
ASCRUS[quot pbdeveloper]если вы работаете в Oracle можно еще попробовать так: "way_bills"."wbil_date" >= to_date(:StartDate, "дд/мм/гггг") А кто мешает для ASA аналогично написать: Код: plaintext Не спасло. По прежнему получаю сообщение, дословно: "SQLSTATE=37000 [Sybase][ODBC Driver][Adaptive Server Anywhere]Syntax error or access violation:Syntax error near:'14.07.1990' on line 1" И дальше предложение исправить ошибку ASCRUS Или же попробовать для ASA указать опцию БД: Код: plaintext Это я уже пробовал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 17:32 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
Странно, в BOL и такого SQLState даже нет. А нельзя как нибудь через SQLPreview вывести полный текст запроса, что же PB посылает то на ASA. Кстати интересно, если не через PB в ASA запрос выполнить, будет ли работать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 17:40 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
ASCRUSСтранно, в BOL и такого SQLState даже нет. А нельзя как нибудь через SQLPreview вывести полный текст запроса, что же PB посылает то на ASA. Кстати интересно, если не через PB в ASA запрос выполнить, будет ли работать ? Запрос без PB прекрасно работает. Все как часы... Было бы странно, чтобы такая простая вещь не работала. И повторяю, что на обычном компе, не смотря на ошибку в процессе содания DW, все работает. А вот на КПК окно не открывается и ругается на ошибку преобразования типа....... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 17:43 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
RTFM!!!! CONVERT( datetime , <date>, 104 ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 17:44 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
ЗоринАндрейRTFM!!!! CONVERT( datetime , <date>, 104 ) Это да - тип то я забыл поставить для CONVERT. Но что то мне слабо верится, что Александр на это купился :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 17:46 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
Попробовал в PB9 задать формат в профиле. Сгенерился dbparm вот такого вида: SQLCA.DBParm = "..... ,Date=' \''dd.mm.yyyy\'' '" что чуток отличается от того что я постил ранее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 17:49 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
ASCRUS ЗоринАндрейRTFM!!!! CONVERT( datetime , <date>, 104 ) Это да - тип то я забыл поставить для CONVERT. Но что то мне слабо верится, что Александр на это купился :) Ладно, всем спасибо. Я уже отписался в Sybase. Посмотрим, что там ответят. Будут новости сообщу в чем была загвоздка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 17:52 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
а что если конвертировать оба поля: CONVERT("way_bills"."wbil_date", 104) >= CONVERT(:StartDate, 104) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 17:54 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
To Александр Старшинин Когда возникает всякая хрень с датами в запросах, меня всегда выручает стринг. Т.е. пущай твой юзер работает с Data . Когда будешь вызывать DW , напиши типа: Retrieve(String(ld_Data, "yyyymmdd")) Такой формат проходит всегда. Ну и в селекте, соответственно, должен стоять аргумент типа String ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 09:08 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
Понятное дело, что на одном компе работает, а на другом нет. То что работает на одном не показатель, что оно должно работать на всех. По поводу формата: Попробуйте на КПК на ПБ выполнить селект типа: select * from table where field='01.01.1990'; Вот если тут получите ту же ошибку, то все понятно, разбирайтесь с установкой формата даты/датывремени для подключения. Попробуйте выполнить select * from table where field='1990.01.01'; Проходит? Значит дело в кривых настройках, идем и разбираемся со свойствами подключения. Для контроля могу посоветовать подключиться с КПК к БД на нормальной машине и Централом поглядеть на свойства подключения. Устанавливаются ли они, эти свойства. А Sybase тут непричем, пошлют они. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 13:30 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
iLLerПонятное дело, что на одном компе работает, а на другом нет. То что работает на одном не показатель, что оно должно работать на всех. По поводу формата: Попробуйте на КПК на ПБ выполнить селект типа: select * from table where field='01.01.1990'; Вот если тут получите ту же ошибку, то все понятно, разбирайтесь с установкой формата даты/датывремени для подключения. Попробуйте выполнить select * from table where field='1990.01.01'; Проходит? Значит дело в кривых настройках, идем и разбираемся со свойствами подключения. Для контроля могу посоветовать подключиться с КПК к БД на нормальной машине и Централом поглядеть на свойства подключения. Устанавливаются ли они, эти свойства. А Sybase тут непричем, пошлют они. Вы будете смеяться, но в итоге на второй день я КПК "уговорил" на вариант SELECT "way_bills"."wbil_date", "way_bills"."wbil_number", "clients"."short_name", "way_bills"."wbil_id" FROM "clients", "way_bills" WHERE ( "way_bills"."clnt_clnt_id" = "clients"."clnt_id" ) and ( ( "way_bills"."wbtp_wbtp_id" = :WbtpId ) AND ( "way_bills"."del_date" is null ) AND ( "way_bills"."store_store_id" = :StoreId ) AND ( "way_bills"."wbil_date" >= convert(datetime,:StartDate,104) ) AND ( "way_bills"."wbil_date" <= convert(datetime,:EndDate,104) ) ) В общем заработало, всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 14:42 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
Александр Старшинин ( "way_bills"."wbil_date" >= convert(datetime,:StartDate,104) ) AND ( "way_bills"."wbil_date" <= convert(datetime,:EndDate,104) ) ) Да, честно говоря, ничего смешного нет. Известная хрень, когда формат не выставлен. С конвертом-то понятно. Но лучше разобраться с установкой формата в свойствах подключения, сделать по-нормальному и не заставлять сервак заниматься ерундой, типа конвертации констант в константы. P.S.: Может я и не прав, но это мое мнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 15:32 |
|
||
|
Все я сдался, иду за помощью
|
|||
|---|---|---|---|
|
#18+
iLLer Александр Старшинин ( "way_bills"."wbil_date" >= convert(datetime,:StartDate,104) ) AND ( "way_bills"."wbil_date" <= convert(datetime,:EndDate,104) ) ) Да, честно говоря, ничего смешного нет. Известная хрень, когда формат не выставлен. С конвертом-то понятно. Но лучше разобраться с установкой формата в свойствах подключения, сделать по-нормальному и не заставлять сервак заниматься ерундой, типа конвертации констант в константы. P.S.: Может я и не прав, но это мое мнение. В том то и вопрос, что танцы с бубном вокруг формата даты в свойствах подключения результата не дали. Т.е. на компе-то все работает, нет проблем, а вот на КПК категорически отказывается. Хотя может что-то я и не доглядел...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 15:48 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=33109601&tid=1338307]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 348ms |

| 0 / 0 |
