日期:2014-05-18  浏览次数:20718 次

SSIS中VB脚本执行不了
大家好,我在本机写的VB脚本执行的完全没问题。但是到了我们公司的服务器上面,就不能用“执行脚本任务”这个控件了。我拖出来控件时候没问题。但是只要点击“设计脚本”按钮,进入脚本编辑器之后再退出来就报错了,即使我在脚本编辑器里面没有写任何的脚本,错误提示是:脚本任务出错:根据配置,该任务应预编译脚本,但找不到二进制代码。请单击“设计脚本”按钮,使用脚本任务编辑器中的IDE来生成二进制代码。但是我进去之后找不到所谓的IDE啊,崩溃,已经困扰好多天了,有大神指点吗?

还有个疑问就是:ssis中可以限制约束条件逻辑与、逻辑或,来控制控制流的流向,如变量flag=1 执行左边,flag=0执行右边,但是这个仅限于从上一个控件拖出一条“线”才能判断,我想一进入ssis就直接判断flag的值以便执行我想要的操作,这样可以吗?或者有任何“不作为”的控件也可以。啥都不执行,就方便我拖一条“线”来执行对应的操作

------解决方案--------------------
晕 这个只能有请P梁了
------解决方案--------------------
探讨
晕 这个只能有请P梁了

------解决方案--------------------
看在咱俩ID的份上也要顶。如果解决不了的话试试 执行存储过程,毕竟SqlServer的存储过程也是过程性语言,可以解决一些问题
------解决方案--------------------
打布丁:
http://www.microsoft.com/downloads/details.aspx?FamilyID=a7e97652-2f3b-4528-b05f-8ca732976902&DisplayLang=zh-cn
------解决方案--------------------
我想一进入ssis就直接判断flag的值以便执行我想要的操作,这样可以吗?
-->
你可以定义全域变量,由外部传入
------解决方案--------------------
先建立一个SQL任务获取flag变量 ,然后右击编辑线,约束选择:表达式@flag==1 or @flag!=1
------解决方案--------------------
谢谢5楼,但是服务器上东西我不敢随意更改,其实我也认为是bug的问题。
7楼,sql任务怎么获得flag变量的?难道要用存储过程吗?明明可以直接判断。但是还要连接下服务器,这样我感觉有点消耗资源。如果有任何不作为的控件的话,我直接也可以编辑线选择表达式:@flag==1 or @flag!=1吧。

多谢大家的热情,如果能执行vb脚本就好了。那样获得变量很容易。
------解决方案--------------------
1、你本地也是在SSIS的脚本任务中编写的VB脚本吗?
2、你随便拖个SQL脚本任务,指定一个数据源,什么内容都不写就好。