Link to home
Start Free TrialLog in
Avatar of bwarneke
bwarneke

asked on

Linked Server / Inconsistent Metadata

I've been getting the following error when attempting to do a 4 part query against my Linked server:

     Server: Msg 7353
     OLE DB provider 'MSDASQL' supplied inconsistent metadata.  An extra column was supplied during execution that was not found at compile time.

The error message then lists the offending field.  

I've dropped and recreated the linked server.  
One more interesting note:  If I create a view that references that linked table such as:

     Create view vPV_SOrder as Select * from OpenQuery(ServerName, 'Select * from PV_SOrder')

and then do a select on that view (Select * from vPV_SOrder), I will not get the error.

Is a 'rebuild' of the schema necessary on the Linked Server side?  SQL Server side?

This table was modified with the additional table, but there were also many other tables that had fields modified that do not return the error.

Thanks for any help.

Bill
ASKER CERTIFIED SOLUTION
Avatar of arbert
arbert

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of bwarneke
bwarneke

ASKER

Thanks arbert.  I forgot to mention that I had attempted the sp_serveroption setting.  If I set the value to true, I get the following (confusing!) message:

     The 'lazy schema validation' option is ignored in this edition of SQL Server.

We are running SQL 2000 Standard Edition.  Is it available only to Enterprise edition?


Thanks for the post Terryute68.  

That looks like it would work for me.  It looks like the script needs to be run against the source DB.  But, my source data is a Progress DB.  I will check their KB to see if something similar is possible.

Thanks.

Bill
Ouch, that shows updating the system tables anyway--not a good idea.  Did you try to drop and recreate the linked server?
Yes.  Same results.
The issue is with the Progress DB.  The syscolumns table has an ID field.  There is a gap in the sequence.  This causes the error from SQL Server.

There is a fix.  Drop and re-create the offending table.  The ID fields will be ordered properly when the table is re-created.