powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / retrival argument и ODBC
6 сообщений из 6, страница 1 из 1
retrival argument и ODBC
    #35342049
halfboot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.
софт - 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
retrival argument и ODBC
    #35342059
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тут трудно сказать, особенно не зная типы переменных и атрибутов таблиц.
А если поставить DisableBind = 1, то что будет?
...
Рейтинг: 0 / 0
retrival argument и ODBC
    #35342525
Sashuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркНу тут трудно сказать, особенно не зная типы переменных и атрибутов таблиц.
эт точно, судя по тексту ошибки, это проблема в несоответсвии типов. Попробуйте перепроверить все переменные, их типы и значения которые передаються в переменные... возможно там траблы...
...
Рейтинг: 0 / 0
retrival argument и ODBC
    #35342621
+/-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+/-
Гость
2halfboot
имхо у вас entry_date и :entry_date_year имеют разные типы ( например date и datetime ), попытайтесь использовать cast в обеих частях запроса.
...
Рейтинг: 0 / 0
retrival argument и ODBC
    #35342646
+/-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+/-
Гость
хотя еще одно :)
в первом запросе поля
temp_trans.interest_sum,
temp_trans.penalty_sum,
во втором им соответстуют :
temp_accnt.interest_time,
temp_accnt.penalty_time,
если только у вас с названиями все нормально, то вот вам и несоответствие типов )
...
Рейтинг: 0 / 0
retrival argument и ODBC
    #35343407
halfboot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
надеюсь никто не обидиться если я в таком виде структуру табл. выложил :)
Код: 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
6 сообщений из 6, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / retrival argument и ODBC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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