Гость
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Type name is invalid / 16 сообщений из 16, страница 1 из 1
19.08.2004, 20:03
    #32657787
AlexSVR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type name is invalid
Имеется таблица с полем messagedate типа DATE
при попытке выполнить параметризированный запрос типа

insert into mytable (messagedate) values (:d)

происходит ошибка "Type name is invalid"

значение параматра присваивается так:

ADOQuery1.Parameters.ParamByName('d') := Now;
ADOQuery1.ExecSQL; //здесь происходит ошибка

Провайдер IBM OLEDB Provider for DB2
в чем дело не могу разобраться
аналогичные действия на MS SQL и Oracle проходят без проблем

Прошу совета!
...
Рейтинг: 0 / 0
19.08.2004, 22:32
    #32657894
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type name is invalid
DATE в DB2 содержит только дату, но не время. Дата+время = TIMESTAMP
...
Рейтинг: 0 / 0
19.08.2004, 22:47
    #32657902
AlexSVR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type name is invalid
Victor MetelitsaDATE в DB2 содержит только дату, но не время. Дата+время = TIMESTAMP

да понял разницу
только создал поле типа TimeStamp
а ошибка та же самая
...
Рейтинг: 0 / 0
20.08.2004, 09:37
    #32658120
Alexey Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type name is invalid
Тип параметра указал?
ADOQuery1.Parameters.ParamByName('d'):= ftDateTime; ADOQuery1.Parameters.ParamByName('d') := Now;
ADOQuery1.ExecSQL;
...
Рейтинг: 0 / 0
20.08.2004, 10:18
    #32658221
AlexSVR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type name is invalid
[quot Alexey Popov]Тип параметра указал?


да тип параметра указан как ftDateTime
...
Рейтинг: 0 / 0
23.08.2004, 16:04
    #32661547
Pahan1978
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type name is invalid
date('yyyy-mm-dd')
...
Рейтинг: 0 / 0
30.08.2004, 21:00
    #32672281
AlexSVR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type name is invalid
Pahan1978date('yyyy-mm-dd')

так что через параметризированный запрос с параметром типа Date работать не получится?
...
Рейтинг: 0 / 0
30.08.2004, 23:24
    #32672328
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type name is invalid
Ладно, не хотел я себе ставить Delphi, несколько лет уже как имею счастье к ним не прикасаться, но... на днях посмотрю. Наверняка какой-нибудь пустяк... или широкоизвестная и давно пофиксенная бага Delphi или клиентской части DB2. У меня где-то Delphi 7 валялся, посмотрим, как будет работать с DB2 8.1.6. Я уверен на 99%, что работать будет. Если же не заработает, то наверняка это будет означать необходимость патча на Delphi, коего у меня нет и я вряд ли буду его качать.
...
Рейтинг: 0 / 0
31.08.2004, 05:32
    #32672380
golsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type name is invalid
С датой вообще лучше работать как с символьной строкой. Тогда будешь гарантировано не зависить от настроек локализации как сервера, так и клиента. А то у меня был случай, когда число и месяц местами менялись (на клиенте) - программма перестала работать 13 числа - чуть суеверным не стал.
...
Рейтинг: 0 / 0
31.08.2004, 09:57
    #32672578
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type name is invalid
1. Извините, но именно строка и зависит от locale (хотя, к счастью, DB2 достаточно умна, чтобы распознать ISO-формат), соответствующая же ODBC/CLI-структура - нет. Можно также вспомнить про DB2-шную duration (decimal-число соответствующего вида).

2. Речь на самом деле шла не о дате, а о таймштампе (мы ведь в DB2-шной ветке форума, а не ораклячьей).
...
Рейтинг: 0 / 0
31.08.2004, 23:15
    #32674372
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type name is invalid
Да, очень тяжелый случай

http://groups.google.com/groups?hl=ru&lr=&ie=UTF-8&threadm=3f52715c%40newsgroups.borland.com&rnum=8&prev=/groups%3Fq%3Dado%2520%2522type%2520name%2520is%2520invalid%2522%26hl%3Dru%26lr%3D%26ie%3DUTF-8%26sa%3DN%26tab%3Dwg


Еще немного покопаюсь, но пока для меня все выглядит так, что в Дельфах через ADO придется работать строками (или числами). Даже микрософтовский провайдер в сочетании с iBM-овским ODBC глючит.
...
Рейтинг: 0 / 0
01.09.2004, 05:39
    #32674441
golsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type name is invalid
При переводе даты в строку и обратно - всегда можно управлять форматом - как в Delphi так и в DB2.
...
Рейтинг: 0 / 0
01.09.2004, 10:33
    #32674739
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type name is invalid
Да, похоже на чрезвычайно запущенный случай, придется работать строкой - YYYY-MM-DD-HH.MM.SS.XXXXXX или YYYYMMDDHHMMSS. Даже не думаю, что в DB2 8.2 это исправлено. В APAR'ах (ftp://ftp.software.ibm.com/ps/products/db2/fixes/english-us/aparlist/db2_v82/FP7/APARLIST.TXT) я этого не вижу, разве что

JR19575 ADDITION OF PATCH2=64

может относиться к этому? http://www-1.ibm.com/support/search.wss?q=JR19575&tc=SSEPGG&rs=71 - IBM Passport Advantage Software Maintenance Agreement required - шиш почитаешь.


Не по теме:
JR19891 PATCH2=57 ADDED TO ALLOW DELPHI APPLICATIONS TO HANDLE NULL VALUES WHEN CALLING STORED PROCEDURES (AS HAPPENED IN V7)
...
Рейтинг: 0 / 0
03.09.2004, 15:13
    #32679538
AlexSVR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type name is invalid
Victor MetelitsaДа, похоже на чрезвычайно запущенный случай, придется работать строкой - YYYY-MM-DD-HH.MM.SS.XXXXXX или YYYYMMDDHHMMSS.

Печально :(
но все равно спасибо!
...
Рейтинг: 0 / 0
07.09.2004, 22:17
    #32684237
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type name is invalid
на стингере то же самое
...
Рейтинг: 0 / 0
26.01.2005, 16:38
    #32885224
poiuytr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type name is invalid
INSERT INTO mytable (timestamp_pole) VALUES (TIMESTAMP('01.01.2000', '22:22:22'))

Вот так у меня прокатывает. Без параметризированного запроса.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Type name is invalid / 16 сообщений из 16, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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