2

I'm working on a systems integration with Progress (10.2B SP6). I'm using SQL 2012 and the Progress ODBC 64-bit driver. I created a linked server and the majority of my queries work, but queries against 3 tables fail with this message

Msg 7353, Level 16, State 1, Line 1 The OLE DB provider "MSDASQL" for linked server "progress" supplied inconsistent metadata. An extra column was supplied during execution that was not found at compile time.

The two suggestions I found to fix it were changing lazy schema validation and recreating the linked server.

So this works:

SELECT Col1 FROM OPENQUERY(Progress, 'select Col1 from DB.pub.Table')

but this gives the above error

select Col1 from progress.DB.pub.Table

The query works fine using Razor SQL and the same ODBC driver, but I need to use a linked server, as the actual query will run from a scheduled SQL job, extract data and insert into SQL.

My actual query needs to join to this table. I could work around it by loading a ton of records into a temp table and joining to that, but it's gonna be way too inefficient

Anyone come across this or have any suggestions?

Regards

Mark

Tom Bascom
  • 13,405
  • 2
  • 27
  • 33
mark1234
  • 1,110
  • 2
  • 24
  • 41
  • Suggestion for a similar error in the knowledge base: "use openquery". http://knowledgebase.progress.com/articles/Article/000002244 – Jensd Nov 12 '14 at 15:30
  • You should use openquery anyway. Otherwise you are probably going to have some serious performance issues. – Tom Bascom Nov 12 '14 at 15:34
  • Thanks Tom, never really used OpenQuery. Can it be used with a full complex query (over 100 lines, several joins and parameters or local vars) – mark1234 Nov 12 '14 at 19:46
  • Forgot to mention working with openquery is real PITA (unless I'm missing something). It's just like dynamic sql: escaping quotes, no syntax checking, coloring, code formatting, etc. Every fiber of my being tells me I should be using it – mark1234 Nov 12 '14 at 19:51

0 Answers0