Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Konflikt zwischen Operandentyp:varchar ist nicht mit varchar(50) kompatibel, das versucht, in eine verschlüsselte Datenbank einzufügen

Es gibt zwei Dinge, die Sie ausprobieren können,

Stellen Sie sicher, dass die Einstellung für die Spaltenverschlüsselung in Ihrer Verbindungszeichenfolge aktiviert ist. Dies kann mit einem SqlConnectionStringBuilder erfolgen Objekt und Einstellung SqlConnectionStringBuilder.ColumnEncryptionSetting auf Enabled wie folgt

strbldr.ColumnEncryptionSetting = SqlConnectionColumnEncryptionSetting.Enabled;

Wenn Ihre gespeicherte Prozedur erstellt wurde, bevor Sie Ihre Spalte verschlüsselt haben, müssen Sie die Metadaten für Ihre gespeicherte Prozedur wie folgt aktualisieren

Use [Database]
GO    
--Do this for all stored procedures
EXEC sys.sp_refresh_parameter_encryption @name = '[dbo].[Clients_Insert]'