Самый простой и быстрый способ - использовать промежуточную таблицу, в которой данные хранятся в виде 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
со вторым