xy123321 发表于 2016-11-4 00:28:27

SQL SERVER 创建链接服务器 SP_addlinkedserver

SP_addlinkedserver 小结 (oracle,sql server,access,excel)
     /////////////////////////////SQL SERVER////////////////////////////
  Exec sp_droplinkedsrvlogin DBVIP,Null
  Exec sp_dropserver DBVIP
  EXEC sp_addlinkedserver
  @server='DBVIP',--被访问的服务器别名
  @srvproduct='',
  @provider='SQLOLEDB',
  @datasrc='Server2'   --要访问的服务器
  
  EXEC sp_addlinkedsrvlogin
  'DBVIP', --被访问的服务器别名
  'false',
  NULL,
  'sa', --帐号
  'thankyoubobby' --密码
  
  Select   *   from DBVIP.pubs.dbo.orders  
  
  /////////////////////////////ORACLE////////////////////////////
  需要SQL SERVER服务器中安装ORACLE客户端;
  Exec sp_droplinkedsrvlogin demo,Null
  Exec sp_dropserver demo
  go
  EXEC sp_addlinkedserver
  @server ='demo', --要创建的链接服务器别名
  @srvproduct='Oracle', --产品名称    
  @provider='MSDAORA', --OLE DB 字符
  @datasrc='ServiceName'   --数据源 oracle"ora92"network"admin"tnsnames.ora 查看
  
  EXEC sp_addlinkedsrvlogin
  'demo', --已建立的链接服务器名
  'false', -- 固定 */
  NULL, --为每个登陆SQL SERVER的用户使用此链接服务器,否则写用户名 */
  'userid', --帐号
  'password' –密码
  go
  
  SELECT * FROM demo.. USERID.TABLE
  --注意用大写,因为在Oracle的数据字典中为大写
  数据库的格式必须是链接服务器名..ORACLE用户名.表名.
  
  SELECT * FROM OPENQUERY(demo ,'select * from tbdemo' )
  UPDATE OPENQUERY (demo, 'SELECT id FROM tbdemo WHERE id = 101')
  SET name = 'hello';
  INSERT OPENQUERY (demo, 'SELECT id FROM tbdemo')
  VALUES ('hello');
  DELETE OPENQUERY (demo, 'SELECT id FROM tbdemo WHERE name = ''hello''');
  如此则在SQL SERVER中就可以访问ORACLE的数据了。
  建立的链接服务器可以在企业管理器中看见.
  
  /////////////////////////////ACCESS////////////////////////////
  --建立连接服务器
  EXEC sp_addlinkedserver
  'ai',             --要创建的链接服务器名称 
  ‘access',     --产品名称   
  'Microsoft.Jet.OLEDB.4.0', --OLE DB 字符
  'd:"testdb"db.mdb' --数据源 -- 盘符:"路径"文件名 -- ""网络名"共享名"文件名 (网络版本)
  GO
  
  --创建链接服务器上远程登录之间的映射
  --链接服务器默认设置为用登陆的上下文进行
  --现在我们修改为连接链接服务器不需使用任何登录或密码
  exec sp_addlinkedsrvlogin 'ai','false'
  go
  
  select * from ai...mytable
  
  /////////////////////////////EXCEL////////////////////////////
  --建立连接服务器
  EXEC sp_addlinkedserver
  'ai_ex',            --要创建的链接服务器名称 
  'ex',     --产品名称        
  'Microsoft.Jet.OLEDB.4.0', --OLE DB 字符
  'd:"testdb"mybook.xls' , --数据源 -- 盘符:"路径"文件名-- ""网络名"共享名"文件名 (网络版本)
  null,
  'Excel 5.0' --OLE DB 提供程序特定的连接字符串
  GO
  
  ----创建链接服务器上远程登录之间的映射
  --链接服务器默认设置为用登陆的上下文进行
  --现在我们修改为连接链接服务器不需使用任何登录或密码
  exec sp_addlinkedsrvlogin 'ai_ex','false'
  go
  
  --查询数据
  select * from ai_ex...sheet3$
  
  /////////////////////////////MS SQL////////////////////////////
  --建立连接服务器
  EXEC sp_addlinkedserver
  'ai_mssql',        --要创建的链接服务器名称      
  'ms',     --产品名称 
  'SQLOLEDB', --OLE DB 字符
  '218.204.111.111,3342' --数据源
  GO
  
  --创建链接服务器上远程登录之间的映射
  EXEC sp_addlinkedsrvlogin
  'ai_mssql',
  'false',
  NULL,
  'zhangzhe', --远程服务器的登陆用户名
  'fish2231' --远程服务器的登陆密码
  go
  
  --查询数据
  select * from ai_mssql.pubs.dbo.jobs
  
  --还有一个更简单的办法
  --这种方式在链接服务器建立后,它是默认开放RPC的
  --建立连接服务器
  EXEC sp_addlinkedserver
  '218.204.111.111,3342', --要创建的链接服务器名称
  'SQL Server' --这里就用数据源作名称
  GO
  
  --创建链接服务器上远程登录之间的映射
  EXEC sp_addlinkedsrvlogin
  '218.204.111.111,3342',
  'false',
  NULL,
  'zhangzhe', --远程服务器的登陆用户名
  'fish2231' --远程服务器的登陆密码
  go
  
  --查询数据
  select * from .pubs.dbo.jobs
  go
页: [1]
查看完整版本: SQL SERVER 创建链接服务器 SP_addlinkedserver