0

Im installing an ASP application into a Windows 2016 64Bit server, where a DB Oracle 18.0 is also installed. I installed ODAC 19.3 64Bit driver, and registered ORAOLEDB19.DLL successfully.

Code used by Application to connect to DB is

set con = CreateObject("ADODB.Connection")
con.open ="provider=oraoledb.oracle;user id=usr;password=pwd;data source=myDB"
if err.number <> 0 then
    response.write "error<br>" & err.number & " - " & err.Description 
else
    response.write "conn open"
end if
set rs = createobject("adodb.recordset")

rs.open "select count(*) as cnt from tgmi014 where yea=2020",con
response.write "found " & rs.fields(0).value & " items"
rs.close
set rs=nothing
con.close
set con=nothing

At runtime, execution crashes giving the above error message (3706 Provider cannot be found. it may not be properly installed). Im sure that ODAC is correctly installed. In fact, I copied that code on a .vbs page, and ran "cscript.exe testDB.vbs", and it returned the expected result. so, why ASP page crash? I also set Application Pools to be enabled to execute 32Bit Applications, but error still raise. what should I do to fix? thanks for help

mr anto
  • 23
  • 1
  • 6
  • This is likely due to missing environment variables in the user account running the Application Pool in IIS. This would explain why it works from the `cscript` as you are likely using the user that you installed the ODAC setup from. Best way around that is to add the environment variables Oracle requires to the System environment variables instead of the user specific ones. – user692942 Jul 02 '21 at 09:15
  • Does this answer your question? [error 3706 provider cannot be found. it may not be properly installed](https://stackoverflow.com/a/47829542/692942) – user692942 Jul 02 '21 at 09:16

0 Answers0