永发信息网

运用链接服务器地查询语句可以加索引提示吗

答案:2  悬赏:60  手机版
解决时间 2021-02-24 06:27
  • 提问者网友:謫仙
  • 2021-02-23 09:11
运用链接服务器地查询语句可以加索引提示吗
最佳答案
  • 五星知识达人网友:神的生死簿
  • 2021-02-23 10:51
方法一: 使用linked_server_name.catalog.schema.object_name,例如:
select * from ERP..CRM.INQ
linked_server_name Linked server referencing the OLE DB data source
catalog Catalog in the OLE DB data source that contains the object
schema Schema in the catalog that contains the object
object_name Data object in the schema
SQL Server用linked_server_name取linked server相关配置信息,然后将catalog、schema、object_name作为参数传递给OLEDB。例如远程链接服务器为SQL Server时catalog为数据库实例名,schema为owner id (dbo);链接服务器为Oracle时 (OLEDB),catalog为空,schema为用户

注意点:
a). 远程链接服务器为Oracle时schema、object_name必须大写(其他类型的不清楚),否则会报错
消息 7314,级别 16,状态 1,第 1 行
链接服务器 "ERP" 的 OLE DB 访问接口 "MSDAORA" 不包含表 ""CRM"."INQ""。该表不存在,或者当前用户没有访问该表的权限。
b). 必须使用完整的名称。例如SQL Server本地执行sql,dbo可以省略不写,使用远程链接服务器时则必须提供

方法二:使用openquery,例如:
select *
from openquery(ERP,'select t.* from(select inq.*,rownum as rindex from inq order by img01) t where t.rindex>=51 and t.rindex<=100')

优点:
a). SQL Server只是将openquery中的sql发送给远程服务器执行,因此可以使用远程链接服务器的所有sql语法(例如Oracle语法),sql对象也不必大写
b). 数据类型的异常很少(个别情况下还是会发生)
c). openquery的写法同样可用于update、insert、delete
d). 链接服务器为Oracle时,schema不必出现在sql语句中

关于使用链接服务器方面的一些限制、前提条件,可以参考External Data and Tra
全部回答
  • 1楼网友:荒野風
  • 2021-02-23 12:10
应该不能吧。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯