码迷,mamicode.com
首页 > 其他好文 > 详细

数据仓库之抽取数据:通过openrowset执行存储过程

时间:2019-12-11 00:23:31      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:取数据   text   函数调用   blank   avatar   number   目标   key   row   

原文:数据仓库之抽取数据:通过openrowset执行存储过程

 

在做数据仓库时,最重要的就是ETL的开发,而在ETL开发中的第一步,就是要从原OLTP系统中抽取数据到过渡区中,再对这个过渡区中的数据进行转换,最后把经过处理的干净的数据加载到数据仓库中。

 

目标数据库是sql server,通过openrowset函数调用存储过程,但是存储过程中不能带参数。

 

1、开启即席查询

  1. --修改高级参数
  2. sp_configure ‘show advanced options‘,1
  3. go
  4. --允许即席分布式查询
  5. sp_configure ‘Ad Hoc Distributed Queries‘,1
  6. go
  7. --如果配置的值不在合理范围(在最小值最大值范围内),那么可以强制覆盖
  8. reconfigure with override  
  9. go

2、调用存储过程

这种用法最大的好处时,能把存储过程执行的结果select 出来,如果前面写上insert ,就可以插入到表中,非常方便。

但是局限性也很明晰,就是存储过程不能带参数。

在用openrowset函数时,注意参数格式,以及参数之间的字符的格式。

  1. SELECT *
  2. FROM OPENROWSET(‘SQLOLEDB‘,
  3. ‘Server=PC0627JVC\MSSQLSERVER2008;Trusted_Connection=yes;database=master‘,
  4. ‘exec sp_lock‘)
  5. SELECT *
  6. FROM OPENROWSET(‘SQLOLEDB‘,
  7. ‘Server=PC0627JVC\MSSQLSERVER2008;uid=sa;pwd=xxx;‘,
  8. ‘exec master.dbo.sp_lock‘)

 

发布了416 篇原创文章 · 获赞 135 · 访问量 94万+

数据仓库之抽取数据:通过openrowset执行存储过程

标签:取数据   text   函数调用   blank   avatar   number   目标   key   row   

原文地址:https://www.cnblogs.com/lonelyxmas/p/12019920.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!