Tag: oracle12c

使用oracle 12c更改通知问题

OracleCommand cmd = new OracleCommand(“select * from Test WHERE TestFLAG = 1 or TestFLAGis not null”, con); 当表格发生变化时,无论条件是什么,我的.net项目仍会收到通知。 对于第二个问题,在我第一次收到任何通知后,表格上的任何更改都没有得到通知。 为什么? 解决我的问题的任何方法? public class MyNotificationSample { static string constr = “your db INFO”; public static bool IsNotified = false; static OracleDependency dep = null; public static void Main(string[] args) { //To Run this sample, make sure […]

ODP.NET Oracle.ManagedDataAcess随机ORA-12570错误

我正在尝试从非托管版本迁移到Oracle.ManagedDataAcess并接收randoms ORA-12570 TNS:数据包读取器故障。 我不知道为什么会出现这个错误,但是一旦它开始,每个后续请求都会给出相同的错误大约10-30分钟,然后它会再次运行10-30分钟,依此类推。 因此,随后的失败随机一段时间后随后成功 已经尝试过很多东西,要恢复: 环境: Oracle.ManagedDataAcess版本12.1.2400(4.121.2.20150926)(nuget)(服务器上没有安装可以覆盖bin版本的gac引用) Oracle Server Oracle Database 12c企业版12.1.0.2.0版 – 64位生产 Windows 2012(Windows Update确定) 经过: 防火墙:这不是防火墙问题 计算机错误:我的计算机,Azure WebApp和AWS EC2实例上也出现同样的问题 干扰:没有嗅探器运行,透明代理等。 加密:我不使用任何类型的加密(除非默认情况下启用了一些我不知道的事情) 连接字符串:相同的连接字符串与非托管版本完美配合 附加信息: 这是一个生产数据库,它非常稳定 应用程序编译为anycpu,IIS应用程序池限制为64位 我每次测试完全相同的请求(只是刷新其余的ws,webapi),所以它与数据格式无关 组态: 服务器sqlnet.ora SQLNET.AUTHENTICATION_SERVICES =(NTS) NAMES.DIRECTORY_PATH =(TNSNAMES,EZCONNECT) 应用程序Web.config <!—-> 一些参考: https://community.oracle.com/thread/3634263?start=0&tstart=0 ODP.net托管驱动程序抛出ORA-12570:网络会话:意外的数据包读取错误 使用Oracle Advanced Security Options管理Oracle客户端 IIS中的ODP.NET错误:ORA-12357网络会话文件结束 更新1 池改变后(我在这里描述的答案),我决定发布一个版本来做一些真正的测试。 1天后用户抱怨性能我得到了另一个错误:值不能为空。 参数名称:byteArray 我将引用更改回非托管版本,一切都很好,更快,没有bytearray错误,更好的池管理。 所以我现在只是放弃托管版本,也许我会在下一版本的Oracle上再试一次。 这里有一些关于这个新错误的引用,你可以看到,看起来像另一个错误(仍然没有任何答案)。 https://community.oracle.com/thread/3676588?start=0&tstart=0 EF […]

Oracle.ManagedDataAccess和ORA-01017:用户名/密码无效; 登录被拒绝

我在其中一台服务器上遇到了挑战。 我有一个ASP.NET MVC 3应用程序,需要连接到Oracle 12c数据库。 它使用以下连接字符串执行此操作: User ID=myuserid;Password=mypass;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT = 1521)))(CONNECT_DATA=(SERVICE_NAME=PDB1))); 我也使用Oracle的Oracle.ManagedDataAccess,版本4.121.1.0。 每次尝试连接都会导致以下错误: ORA-01017: invalid username/password; logon denied 我可以使用上述凭据在我的桌面上成功连接。 我在另一台服务器上使用相同的代码,但使用较旧的,未托管的库版本,并且可以使用上述凭据成功连接。 但是,我希望运行代码的服务器每次都使用相同的凭据来启动,这些凭据可以在不同的服务器上成功建立连接。 在失败的服务器上,我可以: 通过SQLPLUS连接 用TNSPING命中数据库 创建系统DSN以建立ODBC连接 我已在所有位置检查过TNSNAMES.ORA,看起来它们是正确的。 在多次访问数据库之后,该帐户实际上已锁定,表明我确实在访问数据库并且数据库不喜欢所显示的凭据。 我检查了以前成功连接的应用程序,但它们也失败并显示一个错误,表明该帐户已被锁定。 解锁帐户导致这些应用程序成功连接,但我遇到问题的服务器除外。 我没办法。 有没有人有什么可能导致这个问题的其他建议? 编辑 : 我在本地计算机和违规服务器上安装了WireShark。 我捕获了桌面和数据库之间以及违规服务器和数据库之间的通信。 我发现我的桌面传达了密码: 0080 35 42 31 41 43 34 30 00 01 01 01 0d 0d 41 55 54 5B1AC40……AUT 0090 […]