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

原文:数据仓库之抽取数据:通过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万+

他的留言板
关注

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

时间: 2024-10-17 09:17:18

数据仓库之抽取数据:通过openrowset执行存储过程的相关文章

数据仓库之抽取数据:openrowset函数带bulk操作符的用法

原文:数据仓库之抽取数据:openrowset函数带bulk操作符的用法 在做数据仓库时,最重要的就是ETL的开发,而在ETL开发中的第一步,就是要从原OLTP系统中抽取数据到过渡区中,再对这个过渡区中的数据进行转换,最后把经过处理的干净的数据加载到数据仓库中. 目标数据库是sql server,通过openrowset函数带bulk操作符的用法,导入.导出.更新数据. 带bulk操作符的方式相对于其他方式来说,速度更快. 使用方法: 第1种用法: openrowset ( bulk 要加载结果

数据仓库之抽取数据:通过bcp命令行导入数据

原文:数据仓库之抽取数据:通过bcp命令行导入数据 在做数据仓库时,最重要的就是ETL的开发,而在ETL开发中的第一步,就是要从原OLTP系统中抽取数据到过渡区中,再对这个过渡区中的数据进行转换,最后把经过处理的干净的数据加载到数据仓库中. 目标数据库是sql server,通过bcp命令行导入数据.bcp方式相对于其他方式来说,速度更快,是做了优化的. 以下为bcp命令行常用的参数,注意大小写: -c  以char作为存储类型 -w  和-c类似,只有当使用unicode字符集拷贝数据时使用n

MyCat 学习笔记 第十三篇.数据分片 之 通过HINT执行存储过程

1 环境说明 VM 模拟3台MYSQL 5.6 服务器 VM1 192.168.31.187:3307 VM2 192.168.31.212:3307 VM3 192.168.31.150:  3307 MYCAT 1.5 服务部署在宿主机上 MYCAT 192.168.31.207 :8806[SQL执行端口] / 9066[管理端口] 2 应用场景 2.0 MYCAT配置 schema.xml <schema name="TESTDB" checkSQLschema=&quo

大数据数据仓库-基于大数据体系构建数据仓库(Hive,Flume,Kafka,Azkaban,Oozie,SparkSQL)

背景 接着上个文章数据仓库简述,想写一篇数据仓库常用模型的文章,但是自己对数据仓库模型的理解程度和建设架构并没有下面这个技术专家理解的深刻,并且自己去组织语言,可能会有不准确的地方,怕影响大家对数据仓库建模的理解,数据仓库属于一个工程学科,在设计上要体验出工程严谨性,所以这次向大家推荐这篇文章,毕竟IBM在数据仓库和数据集市方面已经做得很成熟了,已经有成型的商业数据仓库组件,这篇文章写的很好,可以让大家很好的理解数据仓库. 版权 作者 周三保([email protected]) IBM 软件部

EF中执行存储过程

SqlParameter[] parms = new SqlParameter[5]; SqlParameter parms0 = new SqlParameter("IsAll", int.Parse(parames.P1)); //生成一个参数并给参数赋值. SqlParameter parms1 = new SqlParameter("ForumId", int.Parse(parames.P2)); SqlParameter parms2 = new Sql

12mybatis调用执行存储过程

mybatis 调用执行存储过程 mysql 声明建立存储过程 删除 在mysql中调用 -- 声明定义存储过程 delimiter $$ create procedure delbook(id int) begin delete from book where book_id=id; end$$ delimiter ; -- 删除存储过程 drop procedure delbook; -- 调用执行存储过程 call delbook(4); select * from book; mybat

JAVA使用JDBC技术操作SqlServer数据库执行存储过程

Java使用JDBC技术操作SqlServer数据库执行存储过程: 1.新建SQLSERVER数据库:java_conn_test 2.新建表:tb_User 3.分别新建三个存储过程: 1>带参数的新增用户存储过程: CREATE PROCEDURE [dbo].[p_Insert_User] @name nvarchar(50), @UserPwd nvarchar(50) AS BEGIN INSERT INTO tb_User VALUES(NEWID(),@name,@UserPwd)

抽取、转换和装载介绍(五)抽取数据

抽取和提交数据虽然也很重要,但是只是传输和装载数据而已. 数据的清洗和归一化是ETL系统为数据增值的步骤,实际上改变了数据. 子系统4--数据清洗系统 主要用于修正脏数据,同时又希望数据仓库提供该数据的准确描述. 数据清洗的目标之一是提供一个用于数据清洗的综合架构,捕捉与数据质量相关的事件,同时在数据仓库中对数据质量进行度量并最终加以控制. 这一子系统的目标应当包括: 对数据质量问题的早期诊断和鉴别分类(早期诊断) 让源系统的集成工作提供更优质的数据(更优数据) 具有为ETL过程中遇到的数据错误

定时执行存储过程

定时执行存储过程 基础 Oracle定时器 Oracle定时器:定时执行某个存储过程. 通过pl/SQL的图形化界面可以看到.定时器包括:调度和存储过程连接口 存储过程连接口 存储过程连接口,主要告诉定时器要执行哪一个存储过程.存储过程连接口就是存储过程执行的入口.从图形化界面可以看出"Action"就是要执行的存储过程.而"Arguments"就是调用该存储过程所需要的参数类型及存储过程所调用的必须参数. 存储过程 存储过程(Stored Procedure)是在