我的应用生成SSIS包,用于从Excel文件导入数据。这是使用C#以编程方式完成的。
在生成包之前,有一个设置步骤,我允许用户从模板Excel文件中选择要导入的工作表名称和列。 (基本上,如果您使用BIDS / VS手动构建软件包并且正在设置Excel Source组件,通常会执行此操作)。
我通过使用Excel连接管理器,Dataflow任务和Excel源创建临时SSIS包来实现此目的。
使用此方法,在指定工作表名称后,使用SSIS API读取列名称没有问题。但是,我似乎找不到一种方法来获取SSIS API给我的工作表列表。
我可以使用OleDbConnection枚举工作表名称(如图here所示),但有没有办法使用SSIS API?这是我应该去的方向,还是我应该专门用于初始设置的OleDB和严格用于生成/执行最终包的SSIS API?
由于
答案 0 :(得分:1)
This是我能找到的最接近我想要的东西。
一个可能的解决方案是在BIDS中创建一个类似的包(因为我已经意识到首先以编程方式创建这个包完全没必要)然后在我的C#代码中与它(或其结果)进行交互以获取数据我需要。
但是,我认为如果我只是使用OleDB提供程序进行设置并使用SSIS API来生成/执行包,一旦我弄清楚它会是什么样子就会更容易