部署ASP.NET访问oracle提示找不oracle客户端组件问题
前两天将自己本机器中的ASP.NET应用部署到了服务器上,结果出现了些问题.折腾了两天才搞清楚.
首先发现安装.NET3.5时候需要连接Internet,(其实安装包完整的离线安装包)而服务器是内部网络的,每办法只能安装一个VS2008上去,真不明白为何安装VS时候dotNetFramework又不需要连接Internet了.
后来发现在本机器没有问题的应用部上去后又不能访问数据库了(使用OLEDB方式连接的ORACLE),提示本机器未安装oracle8.17以上的客户端,(已经安装了,而且用sqlplus可以访问)开始以为是oralce安装出了问题又安装了oracle9.2客户端也一样,后来google才知道是NTFS文件系统安全问题,解决方法: 在oracle/bin目录,加入给以下用户/组,授完全权限:
asp.net machine account
administrator
authenticated users
并且将Asp.net加入到administrator组,再重启
后又出现错误,提示无法获取Oracle错误信息,google了下才知道使卸载oralce8.17没有删除注册表信息安装oracle9.2就无法写注册表了.所以卸载后需要手工清理注册表,后在安装.
相关文档:
ORACLE中数据字典视图分为3大类, 用前缀区别,分别为:USER,ALL 和 DBA,许多数据字典视图包含相似的信息。
USER_*:有关用户所拥有的对象信息,即用户自己创建的对象信息
ALL_*:有关用户可以访问的对象的信息,即用户自己创建的对象的信息加上其他用户创建的对象但该用户有权访问的信息
DBA_* ......
oracle 数据库连接就像你在程序中建立一个到数据库的连接一样。
如果数据库不在本地主机,必须在$ORACLE_HOME/network/admin/tnsnames.ora中配置相应的tns,然后程序才能通过配置好的tns访问数据库,但是java通过thin方式访问oracle例外,可以采用在本地配置好的tns别名,也可以采用tns全解析名,采用别名等号后的全 ......
alter system kill session '查出的sid,查出的serial#';
通過數據字典V$SESSION與V$LOCK來瞭解正在等待鎖資源的用戶
select a.username,a.sid,a.serial#,b.id1 from v$session a ,v$lock b
Where a.lockwait ......
alter table t_att_over_haul_safe_pres add c clob;
update t_att_over_haul_safe_pres set c=prt_precautions;
alter table t_att_over_haul_safe_p ......