0

我正在使用 Oracle ManagedDataAccess 驱动程序从 .NET Web 应用程序访问数据库。当以 Windows 用户 x 在 IIS Express 下本地运行它时,这工作正常,但是当我将我的站点发布到另一个使用 IIS 的服务器时,我得到错误

ORA-01017: 用户名/密码无效;登录被拒绝

我查看了从 Oracle 进行的尝试登录,如此处所述。从 IIS 成功登录的地方,我可以看到列出的 Windows 用户名 OPS$(USERNAME)。

有趣的是,在 IIS 登录不成功的地方,我看到传递了错误的用户名 - 用户名 = OPS$(NAME_OF_MY_WEB_APPLICATION)。我不知道从哪里得到将应用程序名称替换为用户名的想法。

我的连接字符串对于两种环境都是相同的: User ID=/ ;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP))(HOST=...(PORT=1521)(CONNECT_DATA=(SERVICE_NAME=... )));

4

1 回答 1

0

原来在 IIS 中禁用了模拟,添加

<identity impersonate="true" />

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

于 2016-08-22T12:02:37.610 回答