Oracle ManagedDataAccess ドライバーを使用して、.NET Web アプリケーションからデータベースにアクセスしています。Windows ユーザー x として IIS Express でローカルに実行すると問題なく動作しますが、IIS を使用してサイトを別のサーバーに公開するとエラーが発生します
ORA-01017: ユーザー名/パスワードが無効です。ログインが拒否されました
ここで概説されているように、Oracle から試行されたログインを確認しました。IIS からのログインに成功した場合、自分の Windows ユーザー名 OPS$(USERNAME) が表示されます。
興味深いことに、IIS からログインに失敗すると、間違ったユーザー名が渡されていることがわかります - Username = OPS$(NAME_OF_MY_WEB_APPLICATION)。アプリケーションの名前をユーザー名として置き換えるという考えがどこから得られているのか、私にはわかりません。
私の接続文字列は両方の環境で同じです: User ID=/ ;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP))(HOST=...(PORT=1521)(CONNECT_DATA=(SERVICE_NAME=... )));