问题标签 [copydataset]

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 回答
550 浏览

delphi - FireDAC CopyDataSet 和 CopyRecord 内存丢失是否有解决方案?

我编写了一个将一系列 Paradox 表迁移到 PostgreSQL 数据库的应用程序。不幸的是,将 Paradox 表中的数据导入 PostgreSQL 表时,内存消耗会增加,并且对于其中一个较大的表(100 万条记录),导入会因“内存不足”异常而崩溃。当我使用 CopyDataSet 为整个表导入数据时,以及当我使用 CopyRecord 逐条导入数据时,都会发生此崩溃。

我一直在尝试了解这种内存泄漏的来源。本来我以为是FireDAC ODBC驱动的使用才是根源。或者更具体地说,我认为 Microsoft ODBC 驱动程序是源。为了测试这一点,我尝试使用本地 FireDAC Postgres 驱动程序从一个非常大的 PostgreSQL 表导入另一个 PostgreSQL 表。但是内存泄漏仍然存在。

我正在使用单向游标(FetchOptions.Unidirectional := True)打开源表,文档状态将丢弃已在前向扫描中处理的记录,但泄漏仍然存在。在所有情况下,我都使用 FDQuery。我尝试使用启用了 Live Data Windows (LDW) 模式的 FDTable,但 Microsoft ODBC 驱动程序和 FDTable 之间存在不兼容,因此这不是一个选项。

这是我用于此测试的基本代码:

我最终做的是每 1000 个追加关闭并重新打开目标表。关闭目标表会阻止内存使用量的线性增加。现在 while 循环看起来像这样:

我尝试了 FDQueries 的许多其他配置,只是为了得到相同的泄漏结果。

有没有其他人注意到这种行为,有没有人知道比关闭和重新打开目标查询的开销更少的解决方案?

我正在使用任务管理器监控内存使用情况。一旦内存使用量接近 2 GB,程序就会崩溃。正确关闭目标数据集会释放大量内存。

操作系统:Windows 10 64 位,平台:Delphi Rio 10.3.3,数据库:PostgreSQL 11,目标平台:32 位(无 64 位 Paradox ODBC 驱动程序)

0 投票
1 回答
3907 浏览

stored-procedures - Azure 数据工厂获取元数据以获取 blob 文件名并将它们传输到 Azure SQL 数据库表

我正在尝试使用 Azure 数据工厂中的 Get Metadata 活动来获取 blob 文件名并将它们复制到 Azure SQL 数据库表。我遵循本教程:https ://www.mssqltips.com/sqlservertip/6246/azure-data-factory-get-metadata-example/

这是我的管道,“复制数据”>“源”是 Blob 存储中 Blob 文件的源目标。我需要将我的源文件指定为二进制文件,因为它们是 *.jpeg 文件。

获取元数据0

对于我的复制数据 > 接收器,它是 Azure SQL 数据库,我启用了“自动创建表”选项

获取元数据1

在我的接收器数据集配置中,我必须选择一个表,因为如果我不选择我的 SQL 数据库中的表,验证将不会通过,即使该表与我想要获取的 blob 文件名完全不相关。

获取元数据2

问题 1:我是否应该在 SQL DB 中创建一个新表以使列与我要提取的 blob 文件名匹配?

然后,我尝试验证管道并收到此错误。

获取元数据3

问题 2:如何解决此错误?我必须将源的文件类型选择为二进制,因为这是创建源数据集时的步骤之一。因此,当我选择作为 Azure SQL 表的接收器数据集时,我不必选择数据集的类型,因此它似乎不匹配。

非常感谢您提前。

新管道的新屏幕截图,我现在可以在 json 输出文件中获取文件名的 itemName。

获取文件名 1

现在我在 Get_File_Name2 活动之后添加 Copy Data 活动并将它们连接在一起以尝试将 json 输出文件作为源数据集。

获取文件名2

但是,在将类型指定为 json 之前,我需要先选择源数据集位置。但是,据我了解,这些输出 json 文件是 Get_File_Name2 活动的输出,它们尚未存储在 Blob 存储中。如何使复制数据活动将这些 json 输出文件作为源数据集读取?

获取文件名3

2020 年 10 月 14 日更新 这是我的新活动存储过程,我按照建议添加了参数,但是我将名称更改为 JsonData,因为我的存储过程需要此参数。

存储过程1

这是我的存储过程。

存储过程2

我在存储过程中收到此错误:

存储过程3

但是当我检查输入时,它似乎已经成功读取了 json 字符串 itemName。

存储过程4

但是,当我检查输出时,它不存在。

存储过程5

0 投票
1 回答
263 浏览

encryption - 需要加密 ADF 复制数据活动中的特定列值?

我在做什么 我正在从 Azure 存储帐户读取 CSV 文件,并将相同的数据复制到表中的 Azure SQL 数据库。CSV 文件包含 PII 信息,例如名字、姓氏、电话和电子邮件。与 sink 数据库的列映射是一对一的。

想要解决方案: 没问题,所有数据都已正确复制。最重要的是,我想加密 PII 信息。加密后,我只会在数据库中看到加密的值。

我试过了: 我将 PII 值转换为 hashbyte (SHA2_256) 但我没有得到实际值,所以这不是我的解决方案

注意:我使用的是 ADF V2

在此先感谢您的宝贵时间。你的任何意见对我都很有价值

0 投票
1 回答
45 浏览

excel - 我的代码在声明变量时卡在中间 - 我是 VBA 新手

'我的代码是从打开的工作簿中的每个工作表中复制数据并粘贴到其主数据表中。

0 投票
0 回答
13 浏览

excel - 将两个工作表从一个工作簿复制到同一工作簿中的另一个单独的工作表

我只是想知道我下面的代码是否有可能从一个工作簿中的两个单独的工作表中收集内容,并将其复制到另外两个单独的工作表和一个工作簿中。下面是我正在使用的代码,但我只是不知道如何命令它具有多个源和目标。以下是我目前正在使用的代码。任何形式的帮助将不胜感激。

0 投票
2 回答
338 浏览

foreach - 将文件夹复制到 Azure 数据存储(azure 数据工厂)

我正在尝试通过遍历文件夹并将每个文件夹的内容复制到具有文件夹名称的容器中,将文件夹及其文件从 ftp 复制到 azure 数据存储中。为此,我为每个和复制数据组件使用了元数据。现在我可以将所有文件夹复制到同一个容器中,但我想要的是有多个以输出中的文件夹命名的容器,每个容器都包含来自 ftp 的文件。

ps:我对 azure 数据工厂还是新手

非常欢迎任何建议或帮助:)