日期:2014-05-17  浏览次数:20852 次

关于读取链接服务器中表的问题
本地服务器:WINdows2008 server,SQL SERVER 2005+SP3
远程服务器:LINUX,ORACLE 10g
测试链接服务器均正常,且可以正常打开一些系统表。但想查看用户表时,出现如下错误:

枚举列 对于 LinkedServer “ERP”失败。(Microsoft.SqlServer.Smo)
其他信息:
执行Transact-SQL 语句或批处理时发生了异常。(Microsoft.SqlServer.ConnectionInfo)
无法从链接服务器“(null)”的OLE DB访问接口“SQL Server”获取行的数据。由于数据值溢出了提供程序所用数据类型的取值范围,转换失败。(Microsoft SQL Server,错误:7346)


在本地服务器中使用ORACLE客户端以及PL/SQL工具均可以访问相关表。


我在链接到另一台也是LINUX+ORACLE 10g的服务器时正常。

这个问题困扰我一周了,请高手帮忙!


------解决方案--------------------
有试过连到SQLServer吗?
------解决方案--------------------
表明不是就叫中文的 表1 吧。写的时候注意英文字母都要大写。实在不行换个oracleclient的版本试试
------解决方案--------------------
错误已经很明显了,表1不存在。你在ORACLE中可以查询吗?比如使用sqlplus?
------解决方案--------------------
你从本地的MSSQL远程连接到服务器的oracle,错误信息提示数据值溢出了提供程序所用数据类型的取值范围,执行Transact-SQL 语句或批处理时发生了异常。说明你MSSQL中的语句远程连接oracle执行时出现错误,而且两个类型的数据库数据类型也有区别啊。你上面排除了权限、语句的问题。是不是你远程连接实例选择不正确?
------解决方案--------------------
是不是做链接服务器时,的n股链接服务器的账号的权限问题?

由于数据值溢出了提供程序所用数据类型的取值范围,转换失败。(Microsoft SQL Server,错误:7346)
--》》这个提示说的是数据类型的转换问题。oracle和sql的数据类型上还是稍有差异的