当前位置: 首页 > 知识库问答 >
问题:

SSIS Ole DB目标动态表名称

吴嘉禧
2023-03-14

我有一组平面文件(114个文件),每个文件都用数据库表名命名。我有数据库模式,所以我的数据库准备好了,没有记录在其中。

我所要做的就是,处理这些平面文件,并将这些记录插入到相应的表中。

我创建了一个SSIS包,我正在尝试在Ole DB目标中设置动态表名。

 public void Main()
        {
            // TODO: Add your code here

            string _path = string.Empty;
            if(Dts.Variables["FilePath"] != null)
                _path = Dts.Variables["FilePath"].Value.ToString();
            //MessageBox.Show(_path);
            //Variables vars = default(Variables);
            //Dts.VariableDispenser.LockForWrite("TableName");
            //vars["TableName"].Value = _path.Replace(@"C:\Users\GD\", "").Replace(".txt", "");
            Dts.Variables["TableName"].Value = _path.Replace(@"C:\Users\GD\","").Replace(".txt","");
            MessageBox.Show(_path + Environment.NewLine +"TableName: " + Dts.Variables["TableName"].Value.ToString());
            Dts.TaskResult = (int)ScriptResults.Success;
        }

messageBox提供了所需的数据。但Ole DB目标表无法识别第二个循环中的表名。

[OLE DB Destination [55]] Error: Column "ActiveCompositionGenericID" cannot be found at the datasource.

“ActiveCompositionGenericID”这是第一个目标表和第一个源文件中列。

对于循环中的第二个文件,源文件中不应该出现这种情况(这种情况正在发生),目标表中也不应该出现这种情况。

共有1个答案

柴飞星
2023-03-14

如果这些文件和目标表的结构相同,那么您尝试执行的操作就会起作用。否则,第一个(多个)文件将加载,但一旦输入文件中的元数据发生更改,该过程将失败。

上述模式在DTS中可以正常工作,但对于SSIS无效。

 类似资料:
  • 当数据量比较大的时候,为了提高数据库操作的效率,尤其是查询的效率,其中一种解决方案就是将数据表拆分。 拆分的数据表,结构完全一致,只不过是表的名字,按照某种规律,而成为一组。 动态表名的常用形式 通常情况下动态表名都是通过一个后缀来表示的。比如我们要记录全中国所有的公司以及其雇员,通常的设计是建立 两张数据表, t_company 记录公司,t_employee 记录雇员。由于考虑到 t_empl

  • 假设以下和所有组件/fus/fci/ssg只有一个带有站点道具的h1。我想了解为什么它是一个有效的react元素,但这些元素的渲染效果并不相同。一个有h1元素,另一个没有。其想法是不为不同站点创建带有切换的大型组件,每个站点将根据导航选择进行交换。我没有看到任何关于这方面的文件,除非我错过了。。。 导航

  • 问题内容: 我正在使用Jersey和JAXB构建简单的RESTful Web服务,我将HashMap从’String’转换为’Integer’: 我需要生成一个如下所示的XML响应: 用JAXB生成动态标签名的最佳方法是什么? 问题答案: 您可以使用-annotated属性并将元素返回为s: 这种方法很丑陋,但比它产生的XML丑陋。

  • 本文向大家介绍YII动态模型(动态表名)支持分析,包括了YII动态模型(动态表名)支持分析的使用技巧和注意事项,需要的朋友参考一下 本文分析了YII动态模型(动态表名)支持机制。分享给大家供大家参考,具体如下: 给YII 框架增加动态模型支持 Yii框架中的数据模型使用静态机制,如果要使用模型方式操作某张数据表,就必须得事先创建数据表对应的模型类(位于 protected/models 目录下),

  • 问题内容: 我尝试编写一个React组件。对于html标题标签(h1,h2,h3等),其中标题优先级根据我们在道具中定义的优先级动态变化。 这是我尝试做的。 预期输出: 这是行不通的。有什么可能的方法可以做到这一点? 问题答案: 无法就地执行此操作,只需将其放在变量中(首字母大写):

  • 问题内容: 我正在尝试执行这样的mysql查询 它显示这样的错误 我该如何实现? 问题答案: 在查询中动态表名的使用最好与 Prepared Staments一起使用 ,在mysql中也可以使用串联功能 您也可以针对删除查询执行此操作