none
SSIS(C#) RRS feed

  • 问题

  • 各位大侠!问一下,如果我要从不同的服务器不同的表抽取数据,然后进行一些业务逻辑计算生成一个结果集,导入到目标表,该如何实现比较好?这个业务逻辑可能稍微复杂点,大家有什么好的方法没?利用编程语言的方式(C#)来对这些不同数据源的数据进行加工后生成目标表,因为SSIS里面的控件我太想用,感觉控件不够灵活,有类似TQL的方法没?利用编程的方式完成TQL的业务逻辑?
    2012年11月13日 5:08

答案

  • 无论是执行SSIS包还是使用C#什么的,你都要连接数据库,从数据库取数据

    我举一个例子:

    如果你觉得数据库很大压力的话,那么晚上空闲的时候做一下数据库备份,复制之类的,把数据转移到报表服务器上,然后就可以取出数据进行各种查询

    因为报表不需要实时,而SSIS也是一样

    不然,为什麽我们要建立数据仓库进行各种数据挖掘,把历史数据放在数据仓库,因为OLTP数据库太繁忙了


    给我写信: QQ我:点击这里给我发消息


    2012年11月13日 6:13

全部回复

  • 可以的啊,C#有ADO.NET,实际上也是吧sql语句发送到数据库执行的

    不过某些数据可以利用C#的算法或者函数,如果TSQL不好处理的话,就好像SQLSERVER里的CLR功能

    SQLSERVER处理难度大的话可以利用C#的功能

    至于逻辑的话就要LZ你自己想了


    给我写信: QQ我:点击这里给我发消息


    2012年11月13日 5:30
  • 大侠!我做的是SSIS(ETL)方面的!不涉及ADO.NET的!最多就用脚本组件(C#语言)
    2012年11月13日 5:32
  • SSIS可以直接写T-SQL的啊
    2012年11月13日 5:38
  • 可以啊,你可以在SSIS包里写C#跟VB代码的嘛


    给我写信: QQ我:点击这里给我发消息

    2012年11月13日 5:43
  • 可能没有理解我的意思!我意思是说能能不能用编程的方式实现SQL各种业务逻辑操作,对整个实体做操作,JOIN,甚至行列转换,然后出来结果集,再导入到目标表,这样的话我就不用在数据库服务器上做操作了,因为数据库在高并发的时候,压力挺大的,如果用SQL当然能实现,但是消耗的线程和内存都会迫使SQL服务器很难对外服务了!所以不想在数据库服务器上执行很多业务逻辑了!因为我们是做ETL的,SSIS包有几百个呢!所以不能把很多业务逻辑放在目标服务器!不知道我有没有叙述清晰
    2012年11月13日 6:05
  • 无论是执行SSIS包还是使用C#什么的,你都要连接数据库,从数据库取数据

    我举一个例子:

    如果你觉得数据库很大压力的话,那么晚上空闲的时候做一下数据库备份,复制之类的,把数据转移到报表服务器上,然后就可以取出数据进行各种查询

    因为报表不需要实时,而SSIS也是一样

    不然,为什麽我们要建立数据仓库进行各种数据挖掘,把历史数据放在数据仓库,因为OLTP数据库太繁忙了


    给我写信: QQ我:点击这里给我发消息


    2012年11月13日 6:13