Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
ramdas
Posting Yak Master
181 Posts |
Posted - 2004-09-29 : 11:46:27
|
| Hi folks,I have a linked server pointing to oracle server 8i on my sql server 2000 box.Initially i was able to run queries on sql server using the four part naming convention. As of today i started to get this error:Server: Msg 7356, Level 16, State 1Line 239OLE DB provider 'MSDAORA' supplied inconsistent metadata for a column. Metadata information was changed at execution time.OLE DB error trace [Non-interface error: Column 'CALL_COUNT' (compile-time ordinal 4) of object '"SUMMARY_OWNER"."IVRU_CALL_TRANSACTION_SUMMARY"' was reported to have a DBTYPE of 130 at compile time and 5 at run time].What would be causing this error?Any suggesstions, thank youRamdasRamdas NarayananSQL Server DBA |
|
|
MuffinMan
Posting Yak Master
107 Posts |
Posted - 2005-01-21 : 11:54:37
|
| Ramdas,I just came across this same issue. Last week, our Oracle DBA upgraded our Oracle server to version 9.2.0.5. We were running 9.2.0.2 before.Prior to the upgrade, this query worked fine: select * from MyLinkedOracleServer..MySchemaName.MyTable Now, running the same query against the 9.2.0.5 Oracle server, I get the error message you referenced above.************ Sidebar **********************Now for the really weird part. The following query *WORKS* against the 9.2.0.5 Oracle server:select * from openquery(MyLinkedOracleServer, 'select * from MySchemaName.MyTable') Don't know why this works, but it does.************ Sidebar **********************It appears that this problem occurs when running a query against an Oracle table that contians fields of datatype "NUMBER" with NO length limit specified, such as 'column1 number'. (There may be other datatypes that casue this issue, but the tables I'm accessing only have VARCHAR2 and NUMBER datatypes.)Altering the table and limiting the length of the NUMBER fields ('column1 number(10,4)') fixed the problem. I can now use the "select * from MyLinkedOracleServer..MySchemaName.MyTable" syntax again.Michael |
 |
|
|
alrufa2
Starting Member
1 Post |
Posted - 2008-01-11 : 15:59:13
|
| Another easy option is to create a view on top of the table with required columns on the Oracle side and access the view from SQL Server. This worked for me. In my case I did not include the NUMBER columns in the view column list but it was in the SELECT statement join clause. Hope this helps. |
 |
|
|
eyechart
Master Smack Fu Yak Hacker
3575 Posts |
Posted - 2008-01-11 : 21:29:04
|
| or you could choose to not use msdaora and use the oracle supplied driver instead. msdaora is very old and hasn't been updated since oracle release version 8 (6 years maybe?).-ec |
 |
|
|
minmin
Starting Member
1 Post |
Posted - 2008-10-22 : 22:39:18
|
| Hi I had the similar error '131 at compile time and 5 at run time'. I have changed the column type in oralce view to be number(38). Now I have this error 'was reported to have a "DBTYPE" of 131 at compile time and 130 at run time.' Note that run time number has changed. Any clue what I can do to fix it?Thanksminmin |
 |
|
|
|
|
|
|
|