Variabler size mismatch
Cheek Bob
cheek@visibility.com
Mon, 16 Aug 1999 17:28:46 -0400
Walter,
I don't think that it is an error with the way date could be formatted in
Oracle because you would get an invalid date error of some type. This seems
more on the byte/bit level. An Oracle date is an 8 BYTE field (64 bit).
Which is why the SIZE 8 sounds right to me. Make sure the date inside the
portable file matches. Compare it's definition the subfile dictionary to
the actual in one in the portable subfile. I asked around here and one
person responded:
They have had lots of problems with subfiles. (Usually indexed subfiles,
though -- not portable). If portable subfiles are using XBASE, which is the
NT index file handler, then they suspected that the issue is that XBASE
doesn't support the element type that you are writing to in the subfile.
Here is a similar problem that they had with indexed subfiles. When writing
an INT*4 field to an indexed subfile, then XBASE brings the field in as a
FLOAT, since it does not support INT fields.
Bob Cheek
Visibility Inc.
http://www.visibility.com
-----Original Message-----
From: Walter Lucas III [SMTP:whl3@nwths.com]
Sent: Monday, August 16, 1999 6:02 PM
To: Maillist Cognos
Subject: Re: Variabler size mismatch
Thanks, Roger. I'll tinker some more.
Walter
-----Original Message-----
From: Marcinik, Roger <MARCINIR@pgocm3.ksc.nasa.gov>
To: 'Walter Lucas III' <whl3@nwths.com>
Cc: 'Roger Marcinik' <rogerm@compuserve.com>
Date: Monday, August 16, 1999 12:42 PM
Subject: RE: Variabler size mismatch
believe this is an Oracle thing. Found this in Oracle 8
documentation:
-----------------------------------------------------------
DATE Datatype
BM_800The DATE datatype stores point-in-time values (dates and
times) in a
table. The DATE datatype stores the year (including the century),
the month,
the day, the hours, the minutes, and the seconds (after midnight).
BM_2807Oracle can store dates in the Julian era, ranging from
January 1,
4712 BCE through December 31, 4712 CE (Common Era). Unless BCE ('BC'
in the
format mask) is specifically used, CE date entries are the default.
BM_802Oracle uses its own internal format to store dates. Date data
is
stored in fixed-length fields of seven bytes each, corresponding to
century,
year, month, day, hour, minute, and second.
BM_804For input and output of dates, the standard Oracle default
date format
is DD-MON-YY, as below:
BM_806'13-NOV-92'
BM_5140
BM_814You can change this default date format for an instance with
the
parameter NLS_DATE_FORMAT. You can also change it during a user
session with
the ALTER SESSION statement. To enter dates that are not in standard
Oracle
date format, use the TO_DATE function with a format mask:
BM_816TO_DATE ('November 13, 1992', 'MONTH DD, YYYY')
BM_5141
BM_5142
_____
BM_5145Note:
BM_5146
If you use the standard date format DD-MON-YY, YY gives the year in
the 20th
century (for example, 31-DEC-92 is December 31, 1992). If you want
to
indicate years in any century other than the 20th century, use a
different
format mask, as shown above.
_____
BM_822Oracle stores time in 24-hour format - HH:MI:SS. By default,
the time
in a date field is 00:00:00 A.M. (midnight) if no time portion is
entered.
In a time-only entry, the date portion defaults to the first day of
the
current month. To enter the time portion of a date, use the TO_DATE
function
with a format mask indicating the time portion, as in
BM_824INSERT INTO birthdays (bname, bday) VALUES
BM_5164 ('ANDY',TO_DATE('13-AUG-66 12:56 A.M.','DD-MON-YY HH:MI
A.M.')
-----Original Message-----
From: Walter Lucas III [mailto:whl3@nwths.com]
Sent: Monday, August 16, 1999 4:44 PM
To: Maillist Cognos
Subject: Variabler size mismatch
Hey guys,
This is Walter at NWTHS again. We now have Axiant running, the
Oracle
database in place and accessed, and are converting everything we
can. Life
is good.
"And now for something completely different..."
We've been pulling data off an HP mainframe in the form of portable
subfiles
and loaded our Oracle databases. This was working well until I
started
loading dates.
The error I get is "VARIABLE SIZE MISMATCH." It then list the column
and
the name of my field. Originally, I loaded the fields as strictly
date
using the default on the mainframe. Then I built new fields with the
CENTURY INCLUDED option and passed those.
When neither of these worked, I handled the field builds on the
Axiant size
first setting the value to a zoned number, then a date, then a date
with the
century included. All had the same result.
I've read all the help and books on both systems. I don't know if
this is a
Cognos or Oracle issue. The data fields in Axiant are sized as 8.
The
Oracle database shows the field to be a date field, but gives no
indication
of size.
Have any of you seen this error? And if you have what did you have
to do to
fix it? More importantly, where did you find the information you
needed to
fix it? I'm having trouble finding in-depth documentation on a
variety of
problems.
Thank you,
Walter Lucas
Applications programmer
Northwest Texas Hospitals
Amarillo, Texas
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
= = = =
Subscribe: "subscribe powerh-l" in message body to
majordomo@lists.swau.edu
Unsubscribe: "unsubscribe powerh-l" in message to
majordomo@lists.swau.edu
powerh-l@lists.swau.edu is gatewayed one-way to
bit.listserv.powerh-l
This list is closed, thus to post to the list, you must be a
subscriber.
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Subscribe: "subscribe powerh-l" in message body to majordomo@lists.swau.edu
Unsubscribe: "unsubscribe powerh-l" in message to majordomo@lists.swau.edu
powerh-l@lists.swau.edu is gatewayed one-way to bit.listserv.powerh-l
This list is closed, thus to post to the list, you must be a subscriber.