How to use a SQL2000 Linked Server to query an Oracle 11G table

こ雲淡風輕ζ 提交于 2019-12-06 09:51:47

Sounds like you may be on the right track thinking about this as an issue of case sensitivity. Quoting from the Microsoft support document How to set up and troubleshoot a linked server to an Oracle database in SQL Server regarding errors 7312, 7313, 7314:

If you receive these error messages, a table may be missing in the Oracle schema or you may not have permissions on that table. Verify that the schema name has been typed by using uppercase. The alphabetical case of the table and of the columns should be as specified in the Oracle system tables.

On the Oracle side, a table or a column that is created without double quotation marks is stored in uppercase. If the table or the column is enclosed in double quotation marks, the table or the column is stored as is.

I just resolved this issue. Oracle was probably upgraded recently if it did worked before.

To resolve I connected to Oracle and did a "descr TABLENAME;" and check whatever column was in problem. In my case, I had a column type as NUMBER without any scale like in this preview.

I asked a DBA to force a scale for these 3 columns and problem is now solved!

But I did find also there is a workaround this solution. You can also change the TSQL

from

SELECT * FROM idwd..wimr.PROJECTS_DIM

to

SELECT * FROM OPENQUERY(idwd,'select * from wimr.PROJECTS_DIM')

And Microsoft Support report a problem if nullability is not set on a column.

More info about my search on Google.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!