I am working on mule 3.8 community edition, I am simply trying to insert the data in mssql database whose table having "Always Encrypted" enabled. I have written parametrized query under execute dll option in mulesoft database connector. I have also mentioned in connection string present in mule-app.properties as "columnEncryptionSetting=Enabled"
After executing the code I got below error.
Message : Encryption scheme mismatch for columns/variables '@deliveryheader_shiptotelephonenumber'. The encryption scheme for the columns/variables is (encryption_type = 'PLAINTEXT') and the expression near line '5' expects it to be (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'Column_data_encrypt', column_encryption_key_database_name = 'Encrypt_db') (or weaker). (com.microsoft.sqlserver.jdbc.SQLServerException).
Payload : {NullPayload}
Payload Type : org.mule.transport.NullPayload
Element : /encryptionpocFlow/processors/0 @ encryptionpoc:encryptionpoc.xml:20
Element XML : <db:execute-ddl config-ref="db_Sql_Configuration" doc:name="Database">
<db:dynamic-query>DECLARE @deliveryheader_shiptotelephonenumber varchar(30)='1234567890' DECLARE @deliveryheader_shiptoaddress_address1 varchar(100)='3807 ABCDE XYZS PKWY'
DECLARE @deliveryheader_shiptoaddress_address2 varchar(100)='SUITE 102' DECLARE @deliveryheader_shiptoaddress_city varchar(60)='PQRSE'
DECLARE @deliveryheader_shiptoaddress_county varchar(60)='LMNOP'
INSERT INTO [dbo].[encrypted_table] (deliveryheader_shiptotelephonenumber ,deliveryheader_shiptoaddress_address1,deliveryheader_shiptoaddress_address2 ,deliveryheader_shiptoaddress_city,deliveryheader_shiptoaddress_county) VALUES(@deliveryheader_shiptotelephonenumber,@deliveryheader_shiptoaddress_address1 ,@deliveryheader_shiptoaddress_address2,@deliveryheader_shiptoaddress_city ,@deliveryheader_shiptoaddress_county)</db:dynamic-query>
</db:execute-ddl>
--------------------------------------------------------------------------------
Root Exception stack trace:
com.microsoft.sqlserver.jdbc.SQLServerException: Encryption scheme mismatch for columns/variables '@deliveryheader_shiptotelephonenumber'. The encryption scheme for the columns/variables is (encryption_type = 'PLAINTEXT') and the expression near line '5' expects it to be (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'Column_data_encrypt', column_encryption_key_database_name = 'Encrypt_db') (or weaker).
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:258)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1535)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:845)
at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:752)....
Please help me on this if anything i am missing or any changes required.