S
sinch
I am experiencing a problem migrating my database from access 97 to
access XP.
The MDB is a front end for an Oracle 9i database.
Several passthrough queries fail with "Invalid precision for decimal
data type"
The problem seems to be centered around Oracle returning full stops as
part of the column name and another numeric column. For example using
Oracle's sample "Scott" schema:
select empno "foo" , mgr
from emp
works fine whereas
select empno "foo.bar" , mgr
from emp
fails becuase the returned column name has a full stop. Similarly
select e.empno , mgr
from emp e
Works becuase Oracle recognises the column name and strips off the table
alias, but
select nvl(e.empno,0) , mgr
from emp e
Fails becuase oracle returns "nvl(e.empno,0)" as the column name. The
nvl() could be aliased again to remove the full stop and it would work.
Slightly stranger is that
select empno "foo.bar" , ename
from emp
Works becuase ename is not a number.
Access 97 works with all of these queries, apparently because it removes
everything up to and including the final full stop from the returned
column name.
Can anybody tell me what is going on? Better yet a solution other than
"Alias everything in your application and hope for the best"
Chris...
access XP.
The MDB is a front end for an Oracle 9i database.
Several passthrough queries fail with "Invalid precision for decimal
data type"
The problem seems to be centered around Oracle returning full stops as
part of the column name and another numeric column. For example using
Oracle's sample "Scott" schema:
select empno "foo" , mgr
from emp
works fine whereas
select empno "foo.bar" , mgr
from emp
fails becuase the returned column name has a full stop. Similarly
select e.empno , mgr
from emp e
Works becuase Oracle recognises the column name and strips off the table
alias, but
select nvl(e.empno,0) , mgr
from emp e
Fails becuase oracle returns "nvl(e.empno,0)" as the column name. The
nvl() could be aliased again to remove the full stop and it would work.
Slightly stranger is that
select empno "foo.bar" , ename
from emp
Works becuase ename is not a number.
Access 97 works with all of these queries, apparently because it removes
everything up to and including the final full stop from the returned
column name.
Can anybody tell me what is going on? Better yet a solution other than
"Alias everything in your application and hope for the best"
Chris...