Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / retrival argument и ODBC / 6 сообщений из 6, страница 1 из 1
29.05.2008, 10:10
    #35342049
halfboot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
retrival argument и ODBC
Доброго времени суток.
софт - PowerBuider 9.0.3, MS SQL 2005

видимо опять проблема с ODBC драйвером. не проходит вот этот запрос.
ошибка: Arithmetic overflow error converting expression to data type datetime
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
SELECT  temp_trans.tran_num,
          transaction_type.tran_descr,
			 temp_trans.tax_sum,
			 temp_trans.interest_sum,
			 temp_trans.penalty_sum,
			 temp_trans.penalty_doc_sum,
			 temp_trans.credit_num,
			 entry_date
   FROM   temp_trans, transaction_type   
    WHERE temp_trans.tran_type = transaction_type.tran_type and
          temp_trans.account_num = :account_num 

UNION

 SELECT :tran_num,
			'на тек. дату',
			 0 ,
			temp_accnt.interest_time,
			temp_accnt.penalty_time,
			 0 ,
			:account_num,
			:entry_date_year
  FROM 	temp_accnt
   WHERE temp_accnt.account_num = :account_num 

С драйверами MSS и OLEDB все работает нормально. на сервере и каждый селект по отдельности все работает. убираю условие WHERE из второго селекта, работает.
В приложении уже используется ODBC и не хотелось бы переходить на другой драйвер. Что можете посоветовать?
Заранее благодарен.
...
Рейтинг: 0 / 0
29.05.2008, 10:14
    #35342059
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
retrival argument и ODBC
Ну тут трудно сказать, особенно не зная типы переменных и атрибутов таблиц.
А если поставить DisableBind = 1, то что будет?
...
Рейтинг: 0 / 0
29.05.2008, 11:56
    #35342525
Sashuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
retrival argument и ODBC
Локшин МаркНу тут трудно сказать, особенно не зная типы переменных и атрибутов таблиц.
эт точно, судя по тексту ошибки, это проблема в несоответсвии типов. Попробуйте перепроверить все переменные, их типы и значения которые передаються в переменные... возможно там траблы...
...
Рейтинг: 0 / 0
29.05.2008, 12:18
    #35342621
+/-
+/-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
retrival argument и ODBC
2halfboot
имхо у вас entry_date и :entry_date_year имеют разные типы ( например date и datetime ), попытайтесь использовать cast в обеих частях запроса.
...
Рейтинг: 0 / 0
29.05.2008, 12:23
    #35342646
+/-
+/-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
retrival argument и ODBC
хотя еще одно :)
в первом запросе поля
temp_trans.interest_sum,
temp_trans.penalty_sum,
во втором им соответстуют :
temp_accnt.interest_time,
temp_accnt.penalty_time,
если только у вас с названиями все нормально, то вот вам и несоответствие типов )
...
Рейтинг: 0 / 0
29.05.2008, 15:16
    #35343407
halfboot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
retrival argument и ODBC
надеюсь никто не обидиться если я в таком виде структуру табл. выложил :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
CREATE TABLE [dbo].[temp_accnt](
	[account_num] [int] IDENTITY( 1 , 1 ) NOT NULL,
	[tin_tp] [char]( 14 ) COLLATE Cyrillic_General_CI_AS NOT NULL,
	[tax_code] [varchar]( 6 ) COLLATE Cyrillic_General_CI_AS NULL,
	[f_type] [char]( 2 ) COLLATE Cyrillic_General_CI_AS NULL,
	[idn_doc] [int] NULL,
	[doc_number] [int] NULL,
	[doc_date] [datetime] NULL,
	[due_declar] [datetime] NULL,
	[due_penalty] [datetime] NULL,
	[due_interest] [datetime] NULL,
	[entry_date] [datetime] NULL,
	[limit_date] [datetime] NULL,
	[date_from] [datetime] NULL,
	[date_to] [datetime] NULL,
	[person_type] [char]( 1 ) COLLATE Cyrillic_General_CI_AS NULL,
	[appeal_status] [char]( 1 ) COLLATE Cyrillic_General_CI_AS NULL,
	[tax_due] [float] NULL,
	[tax_paid] [float] NULL,
	[penalty_due] [float] NULL,
	[penalty_paid] [float] NULL,
	[penalty_time] [float] NULL,
	[penalty_doc] [float] NULL,
	[penalty_doc_due] [float] NULL,
	[penalty_doc_paid] [float] NULL,
	[interest_due] [float] NULL,
	[interest_paid] [float] NULL,
	[interest_time] [float] NULL,
	[interest_doc] [float] NULL,
	[tin_tp_to] [float] NULL,
	[tax_code_to] [varchar]( 6 ) COLLATE Cyrillic_General_CI_AS NULL
) ON [PRIMARY]

====================
CREATE TABLE [dbo].[temp_trans](
	[tran_num] [int] NOT NULL,
	[account_num] [int] NOT NULL,
	[credit_num] [int] NOT NULL,
	[tin_tp] [nchar]( 14 ) COLLATE Cyrillic_General_CI_AS NOT NULL,
	[tax_code] [varchar]( 6 ) COLLATE Cyrillic_General_CI_AS NOT NULL,
	[tran_type] [nchar]( 2 ) COLLATE Cyrillic_General_CI_AS NOT NULL,
	[f_type] [nchar]( 2 ) COLLATE Cyrillic_General_CI_AS NOT NULL,
	[doc_date] [datetime] NOT NULL,
	[entry_date] [datetime] NOT NULL,
	[idn_doc] [int] NOT NULL,
	[date_tran] [datetime] NOT NULL,
	[tax_sum] [float] NOT NULL,
	[penalty_sum] [float] NOT NULL,
	[penalty_doc_sum] [float] NOT NULL,
	[interest_sum] [float] NOT NULL
) ON [PRIMARY]
================

CREATE TABLE [dbo].[transaction_type](
	[tran_type] [nchar]( 2 ) COLLATE Cyrillic_General_CI_AS NOT NULL,
	[tran_descr] [varchar]( 100 ) COLLATE Cyrillic_General_CI_AS NOT NULL,
	[base_type] [nchar]( 1 ) COLLATE Cyrillic_General_CI_AS NOT NULL,
	[tran_descr_e] [varchar]( 100 ) COLLATE Cyrillic_General_CI_AS NOT NULL
) ON [PRIMARY]

retrival arguments
:account_num - number
:tran_num - number
:entry_date_year - datetime

Локшин Марк
при DisableBind = 1 запрос заработал.
спасибо Вам.

+/-
типы данных и cast я сразу проверил. :)
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / retrival argument и ODBC / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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