SQL Loader - 多个文件和抓取文件名

2023-12-31

我有一个包含超过 400K txt 文件的文件夹。

名字像

deID.RESUL_12433287659.txt_234323456.txt
deID.RESUL_34534563649.txt_345353567.txt
deID.RESUL_44235345636.txt_537967875.txt
deID.RESUL_35234663456.txt_423452545.txt

我想通过以下方式存储所有文件及其内容:

file_name                                      file_content
deID.RESUL_12433287659.txt_234323456.txt       Content 1
deID.RESUL_34534563649.txt_345353567.txt       Content 2
deID.RESUL_44235345636.txt_537967875.txt       Content 3
deID.RESUL_35234663456.txt_423452545.txt       Content 4

我尝试使用以下命令创建控制文件:

LOAD
  DATA 
  INFILE 'deID.RESUL_12433287659.txt_234323456.txt'
  INFILE 'deID.RESUL_34534563649.txt_345353567.txt'
  INFILE 'deID.RESUL_44235345636.txt_537967875.txt'
  INFILE 'deID.RESUL_35234663456.txt_423452545.txt'
  APPEND INTO TABLE TBL_DATA
    EVALUATE CHECK_CONSTRAINTS
    REENABLE DISABLED_CONSTRAINTS
    EXCEPTIONS EXCEPTION_TABLE
  FIELDS TERMINATED BY "" 
  OPTIONALLY ENCLOSED BY '"'
  TRAILING NULLCOLS
  ( 
    FILE_NAME
  )

有没有一种方法可以动态获取文件名并在 INFILE 中指定通配符,这样我就不必在控制文件中逐个提及 400K 文件?


1)创建表来保存数据/文件

create table TBL_DATA(file_name varchar2(4000), file_content clob);

2)创建load_all.ctl

LOAD DATA
INFILE file_list.txt
INSERT INTO TABLE TBL_DATA
APPEND
FIELDS TERMINATED BY ","
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
    file_name          char(4000)
  , file_content                   LOBFILE(file_name) TERMINATED BY EOF
)

3)将文件列表重定向到一个file_list.txtls -1 *.txt > file_list.txt

4) Run sqlldr user/pass@db control=load_all.ctl
5) load_all.ctl,file_list.txt和源文件应位于同一文件夹中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Loader - 多个文件和抓取文件名 的相关文章

  • 如何从 Oracle 中获取格式化的 XML

    我对 Oracle 缺乏经验 并且在将数据导出为 XML 时遇到问题 我已经设法让这个查询正常工作 但 XML 的格式似乎是固定的 对我来说不起作用 这是查询 SELECT value em getClobVal AS output FRO
  • 如何通过ODBC检索Oracle数据库函数的结果?

    我在通过 ODBC 调用 Oracle 存储函数 而不是过程 时遇到问题 我的函数非常简单 它只是连接两个字符串 我可以通过以下方式调用它 rs c execute SELECT add str yogi bubu FROM dual fo
  • 当网站停止时,Oracle 数据提供程序会固定 IIS 工作进程

    我们在 Oracle 11g 第 2 版中遇到了一个严重的问题 其中 w3wp 进程接管了整个处理器核心 并且调试显示 Oracle 数据提供程序无限地抛出 ThreadAbortException 开发人员通过执行以下操作发现了此问题 1
  • 关于pl/sql存储程序文本的问题

    我使用 TOAD 进行 PL SQL 开发 在 TOAD 中 当我输入过程名称并按 f4 时 我可以看到该过程的源代码 我认为 TOAD 从 v sqltext 视图获取源代码 为了证实我的想法 我写了一个查询 select from v
  • 尝试在 Oracle 11.2.0.2.0(64 位)中获取连接时出现 java.lang.ArithmeticException

    我目前正在 Oracle 中使用 Java 存储过程 并且在尝试在 Java 代码中获取连接时看到一些奇怪的行为 我的Java被打包成jar文件 然后使用以下命令部署到Oracle中loadjava命令行实用程序 Apackage然后在数据
  • Oracle中如何检测4字节UTF8字符

    我们已经看到oracle中存储了4字节的UTF 8字符 我们需要检测特定列中有多少行包含此类字符 尝试了这里给出的建议 UTF 16 补充字符 https stackoverflow com questions 34720830 how t
  • 在 jdbc 程序中使用时,通过 SQL 客户端插入表中的记录未显示

    我使用 SQL 客户端和 JDBC 程序将几行插入到我的表 EMP 中 使用 SQL 客户端插入的记录不会显示在 Java 的输出控制台中 我正在使用 Java 8 和 oracle 11g 数据库来插入和读取数据库 除了通过 SQL 客户
  • Oracle 9i:同义词表不存在?

    我创建了一个包 其中包含一个存储过程 我计划从单独的应用程序调用该存储过程 存储过程将返回架构中所有视图和表的排序列表 为此 它对 DBA TABLES 和 DBA VIEWS 同义词执行简单的选择 如下所示 CREATE OR REPLA
  • 替换 Oracle 包的一部分

    我需要修改包内的一个过程 我需要接触声明和实施 由于我正在维护每次修改的补丁文件 因此我希望更改最小化 我可以仅使用更改的过程更新包 如果是 如何更新 还是需要提供完整的包定义和实现 您需要替换整个包规范和主体 您不能仅对包的一部分进行操作
  • 使用Powershell访问远程Oracle数据库

    我需要能够连接到我的网络上基于 Windows 7 的 Oracle 服务器 32 位 Oracle XE 我需要连接的机器运行 Windows 7 64 位 两台机器上都安装了 Powershell 我已在 64 位计算机上安装了 Ora
  • FROM 子句中的嵌套括号是否有效的 Oracle SQL 语法?

    此查询使用正确的 Oracle 语法吗 select from dual a where a dummy X 它可以在 11g 和 12c 中运行 但它是真正有效的语法吗 或者这只是一个编译器 错误 将来可能会修复 导致代码失败 我怀疑这是
  • 分层查询

    我希望我能够解释困扰我的问题 我有以下分层数据集 这只是 34K 记录的子集 PARENT ID CHILD ID EXAM TUDA12802 TUDA12982 N TUDA12982 TUDA12984 J TUDA12984 TUD
  • REgex从oracle中的字符串中获取数字

    我有以下格式的字符串 阿克拉姆 88 jamesstree 20140418 阿克兰 8 约翰街 20140418 阿克兰 888 johnstreet 20140418 现在我只想检索 88 8 和 888 值 我为此编写了以下查询 SU
  • Oracle - 使用 DBMS_MVIEW.REFRESH 刷新“REFRESH FORCE ON DEMAND”视图时会发生什么

    我有以下物化视图 CREATE MATERIALIZED VIEW TESTRESULT ON PREBUILT TABLE WITH REDUCED PRECISION REFRESH FORCE ON DEMAND WITH PRIMA
  • Oracle TDE 能否保护数据免受 DBA 的侵害?

    甲骨文专家 我的客户想要部署一个必须在数据库中保存信用卡号的应用程序 客户显然很关心安全性 我们特别关注一个令人痛苦的问题 我们如何确保只有具有 业务需要知道 的授权用户才可以访问数据 我们如何保护数据免受 DBA 的侵害 一个明显的解决方
  • 错误 38824:CREATE 或 REPLACE 命令可能无法更改现有对象的 EDITIONABLE 属性

    我们正在实现数据库生产对象 如包 过程 触发器等 的单元测试系统 为此 我们有一个容器来创建数据库https github com oracle docker images tree master OracleDatabase https
  • 在触发期间更新 oracle 中的同一行?

    简短的问题 因为我不知道如何搜索这个 我可以 重新更新 同一行吗 例如 我有一个存储付款小计的字段 并且考虑到我的业务限制 我可以更新该值 我可以仅用触发器更新同一行的总计吗 预先谢谢您 顺便说一句 我正在使用 Oracle 和 PL SQ
  • 在 Hibernate 中创建 UPDATE RETURNING 查询

    在 Oracle 中 我们可以创建一个更新查询 该查询将使用 RETURNING 子句返回更新的记录 Hibernate中有类似的功能吗 除了数据库生成的值之外 Hibernate 显然不需要返回更新的实例 因为对象传递给Session s
  • 从函数内的 SELECT 返回一个变量

    我正在尝试创建一个返回 varchar 的函数 其中一个字段形成一个选择 即聚合字段 我收到下一个错误 ORA 01422 exact fetch returns more than requested number of rows 我的理
  • Oracle 中仅在一列上不同

    我想在下表中使用不同的值 但仅在 PlayerID 列上使用 这就是我现在所拥有的 MATCHID PLAYERID TEAMID MATCHDATE STARTDATE 20 5 2 14 JAN 12 01 JUN 11 20 5 4

随机推荐

  • NodeJS 套接字 IO 停止随机发出?

    我正在运行 Node 0 6 16 并且所有模块至少根据 npm win7 x64 都是最新的 我注意到 即使没有发生断开连接 但由于某种原因 过了一会儿 我无法判断 也许1小时后 浏览器没有收到任何数据 它在 FF 上似乎比在 Chrom
  • ASP.NET vNext 可以使用非 vNext 引用吗?

    所以我在 VS 14 CTP 中有一个 ASP NET vNext 项目 我的目标是 NET Framework 4 5 1 我添加了对 NuGet 包的引用 该包没有特定于 vNext 的构建 Visual Studio 现在在编辑器 I
  • 视频无法在 iPad/iPhone 上播放

    我正在建立一个网站 daratogaincontrol com 在该网站上 我使用 videolightbox 来播放视频 这些视频无法在 iPad 或 iPhone 上播放 该网站在台式机 Mac 和 PC 上运行良好 videoligh
  • 存储 1 到 1000 素数的链表

    正如您将在以下程序的注释中看到的那样 我应该创建一个列表来存储从 1 到 1000 的所有素数并释放节点 其中只有两个功能是我的工作 然而 我很长时间都没有弄清楚为什么这个程序不能编译 你们看到错误了吗 这是已经交的作业 仅供我个人参考 i
  • 防止创建配置文件

    我正在尝试构建一个包 其中包含一些文件 etc那些不是配置 它们包含在conffiles即使我创建一个空的也自动package conffiles in the debian目录 我怎样才能停下来dh installdeb这样做 我不确定我
  • 在 Eclipse 中设置自定义语法突出显示的快速方法

    我知道我不是第一个需要这个的人 我正在开发一个内部创建的代码库 我想在 Eclipse 中对其应用突出显示 在 Notepad 中 我可以为我正在查看的文件设置语言 有什么办法可以为 Eclipse 做到这一点吗 我正在编写的代码将使用与
  • 如何在 Python 中编写一个函数将 csv 的每一行翻译成另一种语言?

    如何在 Python 中编写一个函数 将 csv 文件的每一行翻译为另一种语言 并使用 pandas 将翻译作为另一列添加到同一 csv 中 我的输入文件如下所示 我希望我的输出是这样的 我是这样开始的 from googletrans i
  • ActionController::UrlGenerationError,没有路由匹配

    我已经阅读了我能找到的所有类似问题 但仍然无法找出我的问题 routes rb Rails application routes draw do resources lists only index show create update d
  • 将装饰器列表应用于可调用对象?

    给定一系列装饰器方法 如何将它们应用于可调用对象 例如 因为 foo bar def baz pass 是相同的 def baz pass baz foo bar baz 人们会假设有一个装饰器列表 foo bar 它们可以应用于baz动态
  • ms-access:数据库引擎找不到输入表或查询

    这是查询 SELECT FROM SELECT Occurrence Number Occurrence Date 1 0 Preanalytical Before Testing Cup Type NULL as 2 0 Analytic
  • 找不到“id”=sign_out 的用户

    我正在 Rails 中使用设备 但现在无法注销我的用户 当我使用 users log out 页面时 出现以下错误 ActiveRecord RecordNotFound in UsersController show Couldn t f
  • 为ggmap创建base_layer无法识别data.frame

    我正在尝试使用 ggmap 在地图上绘制位置 因为我想使用分面 所以我必须提供base layer论证ggmap 我也试图将其包装在一个函数中 我有定义地图边界框的变量 long range lt c 71 5 67 5 lat range
  • cakephp 2.0 smtp 电子邮件

    我正在尝试使用 CakePhp 2 0 发送电子邮件 在我的控制器中我使用这个代码 我知道它很好 我从烹饪书 http book cakephp org 2 0 en core utility libraries email html Ap
  • Python 中从右到左的字符串替换?

    我想在 Python 中进行字符串替换 但只执行从右到左的第一个实例 在理想的世界中我会 myStr mississippi print myStr rreplace iss XXX 1 gt missXXXippi 鉴于此 最好的方法是什
  • Sublime 就像 HTML5 中的多个光标

    您知道如何在浏览器中使用 Sublime 或 Cloud 9 之类的多光标功能吗 我想要多个光标textarea 可能在多个文本区域中 应该可以使用 HTML5 但在网络上没有找到任何内容 谢谢你 正如巴洛普所说王牌编辑有多个光标 如果你想
  • VB6 - Foxpro 2.6 XP 上没有 isam 错误

    老板给了我一些相当古老的遗留代码 全部用 VB6 完成 安装 Visual Studio 6 和其他一些东西后 我终于能够打开该项目并实际编译 运行它 我的新问题来自这行代码 Set db DBEngine Workspaces 0 Ope
  • 为什么在 Ruby 中捕获命名组会导致“未定义的局部变量或方法”错误?

    我在 Ruby 2 0 中的正则表达式中的命名捕获方面遇到问题 我有一个字符串变量和一个内插正则表达式 str hello world re w
  • 使用VBA检查下面的单元格是否为空

    如何在 Excel 中使用 VBA 检查下面的单元格是否为空 我想对特定范围内的所有值求和 但前提是下面的单元格不为空 通过 VBA 或任何其他方式可以实现这一点吗 Example 4 2 3 2 1 2 3 1 总和为 4 3 2 9 尝
  • 涉及 sin() 的两个非常相似的函数表现出截然不同的性能 - 为什么?

    考虑以下两个程序 它们以两种不同的方式执行相同的计算 v1 c include
  • SQL Loader - 多个文件和抓取文件名

    我有一个包含超过 400K txt 文件的文件夹 名字像 deID RESUL 12433287659 txt 234323456 txt deID RESUL 34534563649 txt 345353567 txt deID RESU