本地服务器: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的服务器时正常。这个问题困扰我一周了,请高手帮忙!
远程服务器: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的服务器时正常。这个问题困扰我一周了,请高手帮忙!
FROM [ERP]..[GXSJ].[表1]执行时出现如下错误:
链接服务器“ERP”的OLE DB访问接口“MSDAORA”不包含表“"GXSJ”."表1"”。该表不存在,或者当前用户没有访问该表的权限。但在PL SQL中用此用户登录时,可以对该表进行操作,而且可以修改。
SELECT *
FROM [ERP].[GXSJ].[表1]或者SELECT *
FROM [ERP]..[GXSJ]..[表1]
select cols1,cols2,... from SQLTable1; 格式2: insert into openquery(TEST2,'select * from ifsapp.table1')
values ('cols1','cols2',...); 格式3: update openquery(OERP,'select * from ifsapp.table1') set cols1= 'LEO',... where IKEY=4 格式4:Exec("update [Oracle用户].[表1] set col1=xx where ikey=1") AT [链接服务器名] Exec("update IFSAPP.table1 set col1=xx where ikey=1") AT TEST2
我现在怀疑是不是远程的ORACLE的版本存在微小差异而导致的。
有一台ORACLE的远程服务器,使用相同的方法就可以访问;而另一台则不行。
--》》这个提示说的是数据类型的转换问题。oracle和sql的数据类型上还是稍有差异的