Data Base oracle常见错误及解决方案
一.TNS协议适配器错误;
原因:
此问题的原因都是由于监听没有配置好。
解决:
1.打开oracle工具Net Manager,删除服务及监听,重新添加保存或者另存为即可;(我常用解决方案)
2.oraclehome92TNSlistener服务,此监听服务未启动,启动起来即可;
二.关于Oracle.DataAccess.Client.OracleConnection的类型初始值设定项引发异常;
原因:
客户端与服务端版本不兼容;
解决:
问题的出现,版本不正确,需要自己盘查,或者换个版本11.2;
三.试图加载格式不正确的程序
原因:
32位于64位的鬼;
解决:
vs-项目-右键-属性-目标平台x86
四.ORA-01031:insufficient privileges
原因:
sqlnet.ora配置文件配置不正确;
解决:
product11.2.0dbhome_1NETWORKADMINsqlnet.ora
此文件一定要有,切文件中一定要有如下两行
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
五.未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。(IIS上的问题)
原因:
32位于64位的鬼;
解决:
IIS应用程序池-高级设置-启用32位;(把fase改成true即可)
六.未在本地计算机上注册“OraOLEDB.Oracle.1”提供程序"问题
原因:
1.权限;
2.缺少dll;
3.dll没有用注册;
解决:
1. 在Oracle安装目录找到Oracle的主程序目录,点击鼠标右键->属性->安全,对ASP.NET或者NETWORK SERVICE 帐户赋予允许读、执行权限,并在“高级”中保证该目录的子目录、文件都继承这些属性;
2.安oracle装客户端;
3.服务器ORACLE为11g,虽然安装时选择了Oracle Data Provider for .net 和Oracle Provider for OLE DB。但是还是需要人工命令行注册一下
regsvr32 “E:oracle11gproduct11.2.0dbhome_1BINOraOledb11.dll”