gpt4 book ai didi

sql - 如何使用 SSIS 从平面文件中将数据插入到加密的 varbinary 字段中?

转载 作者:行者123 更新时间:2023-12-01 13:15:46 25 4
gpt4 key购买 nike

我有一个名为 demo 的表,其中包含三个字段。

ID int identity,
Name varbinary(128),
orderdate datetime

Demo 表具有加密的字段“名称”。

现在我有一个包含如下数据的平面文件

1,John,2016-01-01

我将如何在 SSIS 中实现这一目标?

在TSQL中,我可以这样输入数据

OPEN SYMMETRIC KEY STORE_CRYPT

DECRYPTION BY ASYMMETRIC KEY STORE_CRYPT_ASYM

INSERT INTO dbo.Demo (Name,OrderDate)
SELECT ENCRYPTBYKEY(KEY_GUID('STORE_CRYPT'),'John'),GETDATE()

CLOSE SYMMETRIC KEY STORE_CRYPT

最佳答案

最简单和最快的方法是使用数据存储为 varchar 的暂存表,然后添加执行加密并将数据插入目标表的执行 SQL 任务。

暂存表结构

ID int identity,
Name varchar(255),
orderdate datetime

执行 SQL 任务命令

OPEN SYMMETRIC KEY STORE_CRYPT

DECRYPTION BY ASYMMETRIC KEY STORE_CRYPT_ASYM

INSERT INTO dbo.Demo (Name,OrderDate)
SELECT ENCRYPTBYKEY(KEY_GUID('STORE_CRYPT'),Name),OrderDate
FROM StagingTable

CLOSE SYMMETRIC KEY STORE_CRYPT

其他可能的解决方案 (不确定是否有效)

尝试使用 OLEDB 命令转换而不是 OLEDB 目标并使用以下命令:(请注意,从性能角度来看,不建议使用 OLEDB 命令)

OPEN SYMMETRIC KEY STORE_CRYPT

DECRYPTION BY ASYMMETRIC KEY STORE_CRYPT_ASYM

INSERT INTO dbo.Demo (Name,OrderDate)
SELECT ENCRYPTBYKEY(KEY_GUID('STORE_CRYPT'),?),?

CLOSE SYMMETRIC KEY STORE_CRYPT

并将 Name 列映射到第一个参数,将 Orderdate 列映射到第二个

关于sql - 如何使用 SSIS 从平面文件中将数据插入到加密的 varbinary 字段中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55268369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com