Home > Archive > SQL Anywhere database > August 2005 > OLE DB provider 'ASAProv.90' supplied inconsistent metadata for a column









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author OLE DB provider 'ASAProv.90' supplied inconsistent metadata for a column
Dave Rose

2005-08-23, 1:23 pm

For the ongoing saga, see my Aug 19th post titled:

7399 errors using MS SQL Server linked server feature and
ASA 9

Since my last posting I have tried many things, none of
which changed the symptoms.

Finally, I decided to clean everything up and start over.
I removed all of my database packages and reinstalled SQL
Server and ASA 9. Then I downloaded and applied
sa_902_win32_ebf_313
7.

I am now running SQL Server 2000 with SP4 and MDAC 2.8 SP2
under Windows 2003 Enterprise Server SP1.

I created a network service for my test database and ran the
Update Database utility on it. Then I load and ran
C:\Program Files\Sybase\SQL Anywhere 9\scripts\oleschem.sql
script (without error)


Then I went to Enterprise Manager and created the linked
server. I have tried this with the Allow In Process provider
option checked and unchecked without any difference.



My latest round has yielded this result. The linked server
looks great in MS Enterprise manager. You can look at the
server, table and views without error.

However, in Query Analyzer, in response to the querey:

select * from EdgCapture..dbo.Transactions


you get the following messages:

Server: Msg 7356, Level 16, State 1, Line 1
OLE DB provider 'ASAProv.90' supplied inconsistent metadata
for a column. Metadata information was changed at execution
time.
OLE DB error trace [Non-interface error: Column
'AccountCustomerID' (compile-time ordinal 5) of object
'"dbo"."Transactions"' was reported to have a DBTYPE of 14
at compile time and 131 at run time].


Some reward for so much effort, eh?


Any clues anyone?
Bruce Hay

2005-08-23, 8:23 pm

Looking at oleschema.sql, I'd guess there is some ambiguity about the value
expected for the data type of NUMERIC and DECIMAL columns. What is the data
type of AccountCustomerID?

Whitepapers, TechDocs, bug fixes are all available through the iAnywhere
Developer Community at http://www.ianywhere.com/developer

<Dave Rose> wrote in message news:430b69d6.1289.1681692777@sybase.com...
> For the ongoing saga, see my Aug 19th post titled:
>
> 7399 errors using MS SQL Server linked server feature and
> ASA 9
>
> Since my last posting I have tried many things, none of
> which changed the symptoms.
>
> Finally, I decided to clean everything up and start over.
> I removed all of my database packages and reinstalled SQL
> Server and ASA 9. Then I downloaded and applied
> sa_902_win32_ebf_313
7.
>
> I am now running SQL Server 2000 with SP4 and MDAC 2.8 SP2
> under Windows 2003 Enterprise Server SP1.
>
> I created a network service for my test database and ran the
> Update Database utility on it. Then I load and ran
> C:\Program Files\Sybase\SQL Anywhere 9\scripts\oleschem.sql
> script (without error)
>
>
> Then I went to Enterprise Manager and created the linked
> server. I have tried this with the Allow In Process provider
> option checked and unchecked without any difference.
>
>
>
> My latest round has yielded this result. The linked server
> looks great in MS Enterprise manager. You can look at the
> server, table and views without error.
>
> However, in Query Analyzer, in response to the querey:
>
> select * from EdgCapture..dbo.Transactions
>
>
> you get the following messages:
>
> Server: Msg 7356, Level 16, State 1, Line 1
> OLE DB provider 'ASAProv.90' supplied inconsistent metadata
> for a column. Metadata information was changed at execution
> time.
> OLE DB error trace [Non-interface error: Column
> 'AccountCustomerID' (compile-time ordinal 5) of object
> '"dbo"."Transactions"' was reported to have a DBTYPE of 14
> at compile time and 131 at run time].
>
>
> Some reward for so much effort, eh?
>
>
> Any clues anyone?



Dave Rose

2005-08-25, 3:31 am

AccountCustomerID is defined as a numeric datatype, size 10
scale 0

there are several other numeric colums as well, with size
values ranging from 8 to 12. The scale value is 2 for
fields that represent dollar amounts, and zero for integers.

I didn't design this database, so I'm not quite sure why one
would define a field as a numeric with scale 0 rather than
an int.




> Looking at oleschema.sql, I'd guess there is some
> ambiguity about the value expected for the data type of
> NUMERIC and DECIMAL columns. What is the data type of
> AccountCustomerID?
>
> Whitepapers, TechDocs, bug fixes are all available through
> the iAnywhere Developer Community at
> http://www.ianywhere.com/developer
>
> <Dave Rose> wrote in message
> ongoing saga, see my Aug 19th post titled: >
> difference. >
>
>

Dave Rose

2005-08-25, 3:31 am

My second response to your observations.

First, I could not find any articles that deal with using
linked servers in MS SQL Server Eneterprise Manager and
Query Analyzer to acess ASA databases at the link you
provided. Can you direct me to a specific article you think
would enlighten me?

More info. It's not just ambiguity, there is a difference
in the version of oleschema.sql that I have:

The following definitions occur in

create procedure dbo.sa_oledb_columns:

when 'numeric' then 14
when 'decimal' then 14



While these definitions occur in
create procedure dbo. sa_oledb_provider_ty
pes

when 'numeric' then 131
when 'decimal' then 14


Note that these two values occur as the problem in my
posting.

When I changed the definition for numeric to 131 in the
first procedure and reloaded it, I got a different error:


Server: Msg 7356, Level 16, State 1, Line 1
OLE DB provider 'ASAProv.90' supplied inconsistent metadata
for a column. Metadata information was changed at execution
time.
OLE DB error trace [Non-interface error: Column
'AccountCustomerID' (compile-time ordinal 5) of object
'"dbo"."Transactions"' was reported to have a PRECISION of
10 at compile time and 12 at run time].


I'm not familiar enough with these procedures to track
through how the precision and scale are passed along, but I
know the precision for this column should be 10 and the
default precision for a numeric is 12, so somehow the
defined value for precision is being replaced by the
default.


So if someone who understands this could test with numeric
variables of assorted precisions and scales we might
actually find a solution.


> Looking at oleschema.sql, I'd guess there is some
> ambiguity about the value expected for the data type of
> NUMERIC and DECIMAL columns. What is the data type of
> AccountCustomerID?
>
> Whitepapers, TechDocs, bug fixes are all available through
> the iAnywhere Developer Community at
> http://www.ianywhere.com/developer
>
> <Dave Rose> wrote in message
> ongoing saga, see my Aug 19th post titled: >
> difference. >
>
>

Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com