PB6.5+SQL SERVER 2008 开发的一个程序,其中
数据库端有张表
CREATE TABLE GL_RAW_STAGING
(
LOAD_ID numeric(38, 0) IDENTITY(1,1) NOT NULL,
FUND_CODE varchar(100) NULL,
ACCOUNT_NO varchar(100) NULL
)
数据如下:
LOAD_ID FUND_CODE ACCOUNT_NO
2250000000000000000000000000000204416 AX0Q 11500
2250000000000000000000000000000204417 AX0Q 12000
现在设计一个datawindow来显示这张表,当我打开datawindow,并且点击preview这个datawindow时,会报以下错误:
Decimal conversion error,Powerbuilder only supports 18 decimal digits.错误已经很明显,是因为LOAD_ID的numeric 是38,超出了pb的18长度。现在数据库这端不能作修改,那在PB应用程序里可以怎么修改呢???
------解决方案--------------------
select cast(LOAD_ID as varchar(38)) as LOAD_ID , ... from ...
转成varchar类型的
------解决方案--------------------
绑定,试试:
一编辑DW 的代码,把数据类型改成其它的;
二重新DW 的SQL语句,加上convert()什么的把它转成string 。