ORACLE920与ASP的连接问题的解决办法
- 作者:互联网
- 时间:2009-06-24 17:20:02
代码如下:
<%
on error resume next
'连接数据库
Set OraSession = CreateObject("Or***eInProcServer.XOraSession")
set or***tabase=orasession.dbopendatabase("数据库名","用户名/密码",0)
'出错处理
if er***umber >0 then
Re***nse.Write "asp 错误控制
"
Re***nse.Write "asp 错误来源:"&er***ource &"
"
Re***nse.Write "asp 错误代码:"&er***umber &"
"
Re***nse.Write "asp 错误说明:"&er***escription &"
"
er***lear
Re***nse.Write "ORACLE OLE 错误控制
"
Re***nse.Write "ORACLE 错误代码"&Or***ssion.lastServerErr&"
"
Re***nse.Write "ORACLE 错误说明"&Or***ssion.lastServerErrtext&"
"
closeDatabase
displayerror
Re***nse.end
end if
'关闭数据库
sub closeDatabase()
or***tabase.close
'set oradatabase=nothing
or***ssion.close
set orasession=nothing
end sub
function displayerror()
if er***umber <>0 then
Re***nse.Write "
数据库连接失败,请与系统管理员联系!
"
Re***nse.End
end if
end function
%>
解决办法:
1、IIS要访问ORACLE数据库时,在OLEDB中赋于一个权限(是ORACLE的BUG)
在ORACLE_HOME目录下ORA92目录的属性里的安全性上添加/编辑“Authenticated Users”用户,在其“读取及运行”权限上先点不选,再点选择,然后“应用”。
2、在ORACLE_HOME目录下ORA92networkADMIN目录里有一个“sq***t.ora”文件,
内容如下:
# SQ***T.ORA Network Configuration File: E:oracleora92networkadminsq***t.ora
# Generated by Oracle configuration tools.
NA***.DEFAULT_DOMAIN = jg***ew.local
SQ***T.AUTHENTICATION_SERVICES= (NTS)
NA***.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
将其改为:
# SQ***T.ORA Network Configuration File: E:oracleora92networkadminsq***t.ora
# Generated by Oracle configuration tools.
NA***.DEFAULT_DOMAIN = jg***ew.local
# SQ***T.AUTHENTICATION_SERVICES= (NTS)
NA***.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)