我使用Oracle ManagedDataAccess驱动程序从.NET Web应用程序访问数据库。在IIS Express下本地运行它作为Windows用户x这可以正常工作,但当我将我的网站发布到另一台IIS服务器时我得到错误
ORA-01017:用户名/密码无效;登录被拒绝
我按照概述here查看了来自Oracle的尝试登录。从IIS成功登录的地方我可以看到列出的Windows用户名,OPS $(USERNAME)。
有趣的是,如果登录失败,从IIS,我看到传递了错误的用户名 - Username = OPS $(NAME_OF_MY_WEB_APPLICATION)。我不知道在哪里可以将应用程序的名称替换为用户名。
我的连接字符串对于两种环境都是相同的: 用户ID = / ;数据源=(DESCRIPTION =(ADDRESS =(PROTOCOL = TCP))(HOST = ...(PORT = 1521)(CONNECT_DATA =(SERVICE_NAME = ...))) ;
答案 0 :(得分:0)
在IIS中禁用模拟,添加
<identity impersonate="true" />
到我的web.config解决了这个问题。我的Oracle驱动程序使用的应用程序池用户名与我的Web应用程序相同。