在DataStage中运行SQLLDR

时间:2014-02-18 17:07:30

标签: oracle sql-loader datastage

我想知道,对于熟悉DataStage的人来说,Oracle SQLLDR是否可以在DataStage上使用。我有一些控件文件,我想将它们合并到DataStage中。将非常理解逐步实现这一点的方法。感谢

4 个答案:

答案 0 :(得分:1)

我的猜测是你可以在数据阶段使用外部舞台运行它。 您只需将SQLLDR命令放在外部阶段即可执行。 试一试,告诉我会发生什么。

答案 1 :(得分:1)

我们可以在DataStage中使用ORACLE SQL Loader。

如果您检查Oracle Docs,则在SQL Loader下有两种类型的快速加载

1)直接路径加载 - 数据库端的验证更少

2)常规路径负载

如果我们与常规负载进行比较,则直接负载验证较少。

在SQL Loader过程中,我们必须指定像

这样的点
  • 直接与否

  • 平行与否

  • 约束和索引选项

  • 控制和放弃或记录文件

在DataStage中,我们有Oracle Enterprise和Oracle Connector Stages

Oracle Enterprise -

我们在此阶段有加载选项以快速模式加载数据,我们可以设置环境变量OPTIONS 对于Oracle,示例在

之下

OPTIONS(DIRECT = FALSE,PARALLEL = TRUE)

Oracle Connector -

我们有它的批量加载选项,属性选项卡中提供了与SQL Loader相关的其他属性。

示例 - 控制和丢弃所有由DataStage设置的文件值,但您可以手动设置这些属性和其他属性。

答案 2 :(得分:0)

如您所知,SQLLDR基本上将数据从文件加载到数据库,因此datastage允许您使用任何输入数据文件,这将在任何数据文件(如顺序文件)中输入,传递它们的格式,传递表的模式,以及它将创建一个内存模板表,然后你可以使用像odbc或db2等数据库连接器,这会将你的数据加载到表中,就像那样简单。

注意:如果您的表在后端不存在,那么首次执行时将其创建,然后将其设置为追加或截断。

答案 3 :(得分:0)

步骤:

  1. 从文件(顺序文件阶段)中读取数据
  2. 使用Oracle Connector加载它(您可以使用批量加载,以便您可以使用SQL加载器使用直接加载方法,并且可以手动配置数据文件和控制文件设置)。 批量加载操作: 它从输入链接接收记录并将它们传递给Oracle数据库,Oracle数据库将它们格式化为块并将块附加到目标表而不是将它们存储在现有块中的可用空间中。
  3. 您可以参考IBM documentation了解更多详情。

    请记住,在使用批量加载时,在处理拒绝,触发器或约束时,加载可能会有一些限制。这一切都取决于你的要求。