Windows用户名未传递给Oracle DB?

时间:2016-08-22 11:11:38

标签: asp.net oracle iis oracle-manageddataaccess

我使用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 = ...))) ;

1 个答案:

答案 0 :(得分:0)

在IIS中禁用模拟,添加

<identity impersonate="true" />

到我的web.config解决了这个问题。我的Oracle驱动程序使用的应用程序池用户名与我的Web应用程序相同。