问题标签 [utl-file]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
272 浏览

plsql - pl/sql 代码从文件中读取数据

我知道如何使用 utl_file 从文件中读取数据,但我遇到了以下数据的问题。我们不能假设哪个位置的数据会为空。我们该如何处理呢?

样本数据:apple|bat|cat|"dog | dog"||||eee||abc

预期输出:

col1:apple
col2:bat
col3:cat
col4:dog dog
col5:
col6:
col7:
col8:eee
col9:
col10:abc

我试过下面的代码,但它没有处理空值

我的输出低于预期,但我需要预期的输出。

原始列表:apple|bat|cat|"dog|dog"||||eee||abc
第 0 列:apple
第 1 列:bat
第 2 列:cat
第 3 列:dog
第 4 列:dog
第 5 列:eee
第 6 列:abc
第 7 栏:
第 8 栏:
第 9 栏:
第 10 栏:

0 投票
1 回答
3448 浏览

oracle - utl_file fopen - 我无法将文本写入文件

最近,我将 DB 的一个版本更新为 Oracle 11G。从那一刻起,写入文件失败。

我的代码:

我得到“ora-29280 无效的目录路径”

我知道我应该使用 Oracle DIRECTORY(“创建目录...”),但在 Oracle 10G 中,它在显式路径下效果很好,我不想更改我的代码。

谢谢。

0 投票
1 回答
6210 浏览

oracle - 为 UTL_FILE 方法授予正确的权限

说,我有一个 oracle 目录并授予用户“scott”

然后,我有一个 shell 脚本ExtractData.sh,用于UTL_FILEBLOB数据库中的数据转换为存储在上述目录中的物理文件dataFolder

但是,由于服务器的安全问题,这个/data/目录只被授予770权限,因此导致我的脚本无法将文件写入目录。

但是,当我将权限更改为 时777,脚本成功写入文件。

如何通过不给予777许可来解决这个问题?

0 投票
2 回答
366 浏览

plsql - Oracle 11g SQL 客户端上的 UTL_FILE_DIR

是否可以设置指向与数据库服务器不同的服务器上的目录的 UTL_FILE_DIR 路径?

0 投票
1 回答
707 浏览

sql - 将文件从 Oracle BLOB 导出到 SQL FileTable - 文件类型?

我正在尝试对包含 HUGEBLOB 文件的 Oracle 表进行数据转换/升级,并且该表中的列仅列出文件名和 MIME 类型。文件名并不总是(实际上在很多情况下)提供文件类型的扩展名,对于那些不提供的文件名,MIME 类型为“application/octet-stream”,我无法轻松确定原始文件类型是什么并翻译它给它正确的文件扩展名。据我了解,“application/octet-stream”只是一种基本的二进制文件类型。然而,它们中的许多标签实际上是 doc 文件、文本文件、pdf 等,但无论出于何种原因,它们都没有以其正确的 MIME 类型上传到数据库中(一个非常糟糕的编码系统!)。所以我' 我试图弄清楚文件的二进制代码中是否存在我可以确定/提取实际文件类型/扩展名的地方——如果是的话——如何?上传到 SQL FileTable 时将需要此文件类型扩展名,否则新系统也不知道它是什么类型的文件!

0 投票
1 回答
693 浏览

oracle - 使用 UTL_FILE 脚本损坏文件

我肯定已经在 FAR 和 WIDE 中搜索过这个问题的答案,但我什么也找不到!我正在使用 UTL_FILE 脚本从 Oracle 表中提取一些文件 BLOBS 并将它们保存到文件目录中。它适用于很多文件,但我已经通过消除过程缩小了范围,即它对于具有“非常规”文件名的文件存在问题,尽管文件名仍然有效,但文件在传输中被损坏。它们原本可能只有 30kb,但导出为 5kb,无法打开。所以我知道这不是一个大文件大小的问题。这些文件可以通过应用程序正常打开,具有有效的 MIME 类型编码,否则会在文件系统上正常打开,但 UTL_FILE 似乎不喜欢它们。它们是具有额外“。”的文件。在其中,即:john.smith.doc,或井号,即:Smith #12345.doc 或括号等。我无法更改 Oracle 表中的源文件名,但在保存它们时我一直在它们上面连接一个 ID 号,以便我可以将其作为参考稍后将 ETL 加载到 SQL 文件表中的键。也许我还需要编写一个复杂的 REGEXP 来即时重命名文件并删除坏字符,但我不确定这会起作用,因为我不知道 UTL_FILE 在什么时候让它们窒息。如果它在源头上,那将无济于事。有没有其他人遇到过这个问题?这是我的脚本:但是我在保存它们时一直在它们上面连接一个 ID 号,这样我就可以将它作为稍后将 ETL 加载到 SQL 文件表中的键来引用。也许我还需要编写一个复杂的 REGEXP 来即时重命名文件并删除坏字符,但我不确定这是否会起作用,因为我不知道 UTL_FILE 在什么时候让它们窒息。如果它在源头上,那将无济于事。有没有其他人遇到过这个问题?这是我的脚本:但是我在保存它们时一直在它们上面连接一个 ID 号,这样我就可以将它作为稍后将 ETL 加载到 SQL 文件表中的键来引用。也许我还需要编写一个复杂的 REGEXP 来即时重命名文件并删除坏字符,但我不确定这是否会起作用,因为我不知道 UTL_FILE 在什么时候让它们窒息。如果它在源头上,那将无济于事。有没有其他人遇到过这个问题?这是我的脚本:

0 投票
1 回答
921 浏览

jpeg - 如何使用 Oracle utl_file 编写图像 clob

我有一个生成自动电子邮件的 Oracle Apex 应用程序。在 Apex 中,用户将 JPG 图像插入富文本字段。该图像被保存到 CLOB 字段中。调用存储过程时,它会读取 JPG 图像并将其存储到名为 l_image_clob 的局部变量中。该程序将嵌入的图像(注意:这是一个嵌入的图像,它不是电子邮件附件)与电子邮件正文的其余部分一起发送到用户列表。这一切都很好。
现在我正在尝试将存储在 l_image_clob 中的 JPG 图像的内容保存到 Windows 服务器上的 JPG 文件中。以下代码生成一个文件,该文件命名正确且大小正确,但系统无法读取。当我尝试使用 Microsoft Paint 打开它时,我收到错误“这不是一个有效的位图文件”。如何使用 utl_file 来执行此操作?

谢谢你看这个。

0 投票
1 回答
972 浏览

plsql - 使用 UTL_FILE 读取文件时出错

我在使用 utl_file 读取文件时遇到了一些问题。相同的代码在某些实例中运行良好,但在一个实例中失败。

下面是问题:

代码:

......

在此实例文件中,l_file 'ACHAKR01.23067873' 是通过另一个并发进程创建的。它的操作系统用户是“appsofde”。Unix权限如下:

-rw-r--r-- 1 appofde dba 192092429 1 月 27 日 05:00 ACHAKR01.23067873

目录 W2_OUT_DIR 已创建,并且 oracle 用户应用程序具有 EXECUTE、READ、WRITE 权限。

该文件存在并且 W2_OUT_DIR 目录补丁是正确的。

确切的错误是:

这里有什么想法吗?

0 投票
1 回答
1245 浏览

excel - 通过 PL/SQL UTL_FILE 生成 Excel,样式错误

我正在使用 ExcelDocTypeUtils pkg 将查询数据导出到 EXCEL 文件。当我运行该程序时,我得到一个 excel 文件,但是当我尝试打开它时,会弹出此错误: Program came up in the following areas during load: Style

我认为失败的原始行是:

我已经尝试过设置:

但是当我这样做时,错误变为以下内容: Program came up in the following areas during load: 'Strict Parse Error'

这是我执行程序的方式:

0 投票
2 回答
3498 浏览

oracle - 使用 UTL_FILE 批量从 Oracle 表中提取 BLOB 文件,有些压缩有些没有

我有一个从 Oracle BLOB 表中大量提取文档的脚本。这对于从 Oracle 到 SQL 的大规模重写和数据库转换是必要的,其中文件将存储在 SQL 文件表中。由于文档必须位于文件系统上,因此我必须将它们取出并将它们作为文件写出来。它适用于我的大部分文档。在我的桌子上敲了很多次之后,我终于弄清楚这是因为前端系统上有一些逻辑可以压缩一些文档——尽管我真的不知道这样做的标准。无论如何,在我提取它们之前,我已经搜索和搜索并且找不到任何类型的布尔检查来查看它们是否压缩在 Oracle BLOB 表中。如果我在提取它们时尝试将它们全部解压缩,我收到未压缩的错误。所以现在我想我可以在解压的情况下运行它们,然后捕获异常并通过在没有解压的情况下导出来处理其他异常。我只是无法在我的脚本中得到正确的语法。这对我来说是一个新的挑战,而且我没有大量编写此类脚本的经验,所以请原谅我的无知。这是我尝试解压缩所有这些时遇到的错误,所以这就是我要捕获的错误:编写此类脚本的经验丰富,因此请原谅我的无知。这是我尝试解压缩所有这些时遇到的错误,所以这就是我要捕获的错误:编写此类脚本的经验丰富,因此请原谅我的无知。这是我尝试解压缩所有这些时遇到的错误,所以这就是我要捕获的错误:

这是脚本:

我知道当我不解压缩任何 blob 时脚本可以工作,但是那些被压缩的 blob 不会打开。当我对我知道已压缩的某些文件进行解压缩时,它也可以工作。我只是想让它以某种方式在我的所有文件的循环中工作。蒂亚!