我通过.Net代码导入CSV并获取数据表中的数据并尝试使用SqlBulkCopy批量插入但我收到证书错误。当我尝试执行其他操作时,只有当我执行SqlBulkCopy时才会出现证书错误。这是错误描述
无法使用密钥库提供程序解密列加密密钥: ' MSSQL_CERTIFICATE_STORE&#39 ;.加密列的最后10个字节 加密密钥是:' 7F-1D-20-E1-43-0B-B5-92-66-78'。证书 指纹' XXXXXXXXXXXXXXXXXXXXXXXXXX'在证书商店中找不到 '我'在证书位置' CurrentUser'。验证证书 数据库中列主密钥定义中的路径是否正确, 并且证书已正确导入证书 位置/存储。参数名称:masterKeyPath
我在本地计算机上导入了证书。下面是代码 我在dt datatable对象中有数据。从worksheet.Cells.ExportDataTableAsString返回。
Dim copy As New SqlBulkCopy(ConnString, SqlBulkCopyOptions.KeepIdentity Or SqlBulkCopyOptions.AllowEncryptedValueModifications)
copy.DestinationTableName = "Customer"
copy.ColumnMappings.Add("CustID", "CustID")
copy.ColumnMappings.Add("SSN", "SSN")
copy.WriteToServer(dt)
如果按照上面的说法进行操作,我们需要进行2轮插入data.i具有Worksheet ExportDataTableAsString返回的datatable对象。当我直接使用数据表进行SQLbulkcopy时,我得到了证书缺失错误。
有人可以帮助我,并提出更好的方法。
答案 0 :(得分:0)
右键单击证书 - 所有任务 - 管理私钥 - 添加用户
IIS AppPool [DefaultAppPool]为我工作。