DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: jsuguo
今日帖子: 29
在线用户: 10
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 kcm (kcm) ★☆☆☆☆ -
普通会员
2019/5/17 12:16:26
标题:
请教一个SQLServer链接服务器中数据库名称的问题 浏览:1370
加入我的收藏
楼主: 今天遭遇一个SQLServer的sp_addlinkedserver的问题,请教下大家。
sp_addlinkedserver 中有一个参数叫做@catalog,可以直接指定默认的数据库。
假设每个客户都是有两台SQLServer,一个叫做A1、一个叫做A2,所有客户的A1数据库名称各不相同、但表结构都是一样的,A2也是如此,但A1和A2用途不同。
比如A1访问A2,我要把访问的过程写在存储过程中。我给所有客户的A1都定义了相同链接名称的远程链接,sp_addlinkedserver时,我明确指定@catalog参数。为了保证存储过程的通用性,比如查询时
select *  from 链接名称.数据库名称.dbo.表名
既然前面@catalog已经指定了数据库名称,在查询SQL中,如何绕过“链接名称.数据库名称.dbo.表名”这里面的数据库名称呢?
---
因为每个客户的数据库名称不同,按理说前面指定了@catalog默认数据库,就应该有直接访问默认数据库的方法,为啥后面必须要指定“链接名称.数据库名称.dbo.表名”这里面的数据库名称。
因为每个客户的数据库名称不同,按理说前面指定了@catalog默认数据库,就应该有直接访问默认数据库的方法,为啥后面必须要指定“链接名称.数据库名称.dbo.表名”这里面的数据库名称。
---
请高手们给一些建议,多谢
----------------------------------------------
-
作者:
男 kcm (kcm) ★☆☆☆☆ -
普通会员
2019/5/17 12:24:25
1楼: 有搞过的朋友支个招,多谢啦
----------------------------------------------
-
作者:
男 luckyrandom (luckyrandom) ★☆☆☆☆ -
普通会员
2019/5/17 12:53:16
2楼: 四部分名字是固定的格式
----------------------------------------------
SQL SERVER DBA QQ:315054403 曾经的Delphier  缘在上海
作者:
男 kcm (kcm) ★☆☆☆☆ -
普通会员
2019/5/17 13:06:01
3楼: 不会吧,前面既然可以指定@catalog,等于可以设置默认数据库,为什么就不能绕过数据库的名字,采用“默认数据库”的方式呢?
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行62.5毫秒 RSS