10月14日,Oracle发布了最新版本的Oracle托管客户端,该客户端被描述为支持网络数据加密。
http://www.oracle.com/technetwork/topics/dotnet/tech-info/odac12cr4ds-2704217.pdf https://www.nuget.org/packages/Oracle.ManagedDataAccess/
尽管由于某种原因,在尝试了多个配置之后,我们仍然无法使它工作。我们一直将臭名昭著的ORA-12570: Network Session: Unexpected packet read error
异常包装在The provider did not return a ProviderManifestToken string
中。警报日志中的错误是以下TNS-12599: TNS:cryptographic checksum mismatch
我们确实与DBA确认我们使用的是支持的加密算法。
此时,我唯一的附加设置如下:
<settings>
<setting name="SQLNET.AUTHENTICATION_SERVICES" value="NTS" />
<setting name="NAMES.DIRECTORY_PATH" value="LDAP,tnsnames" />
</settings>
发布于 2015-11-15 10:15:56
编辑:升级到ODP.NET托管12.2或更高版本。在那里引入了对数据完整性算法的支持:01/ODPNT/featConnecting.htm#ODPNT8536
ODP.NET、托管驱动程序12.1和更早版本还不支持数据完整性算法:
01/win.121/e63268/featConnecting.htm#CJAGFFCA
这将导致数据库警报日志中的TNS-12599: TNS:密码校验和不匹配错误,从而导致各种客户端错误,例如ORA-12570:网络会话:意外数据包读取错误或ORA-12537:网络会话:文件结束。
如果您被迫使用ODP.NET托管版本12.1,并且无法升级到12.2或更高版本,则可以通过更改数据库端SQLNET.ORA参数来修复此问题,因此不需要校验和:
sqlnet.crypto_checksum_client =接受
sqlnet.crypto_checksum_server =接受
https://stackoverflow.com/questions/33671090
复制相似问题