Oracle Data Provider for .NET を使用して、アプリケーションは特権 SYS ユーザーを使用してデータベースに接続します。接続文字列は次のとおりです。
Data Source=MyTnsName;User ID=sys;Password=MySysPassword;DBA Privilege=SYSDBA
これは Oracle 10 では問題なく動作しますが、Oracle 11 ではユーザー名またはパスワードが無効であると不平を言い続けます。パスワードが正しいことを確認しました。他のアプリは同じ資格情報で正常に動作します。
通常のユーザー (DBA Privilege
パーツなし) の場合、Oracle 11 への接続は完全に機能することに注意してください。
それで、何が問題なのですか?
更新:
これは大文字と小文字の区別の問題ではありません。接続文字列を作成するときに、パスワードの大文字と小文字はコードによって変更されず、パスワードは他の非 .NET アプリケーションで正常に機能します。これは、11 データベースへの接続に使用している Oracle 10 クライアントが原因であると思われます。Oracle は、クライアントには上位互換性があると述べていますが、唯一の欠点は、データベースのいくつかの新機能を使用できないことです。ただし、
SYSDBA
接続は明らかに Oracle 11 の新機能ではなく、.NET 以外のアプリ (Keeptool Hora) も同じセットアップを使用して接続できます。他のアイデアはありますか?
更新 2:
Oracle 11 クライアントを使用しても問題は解決しません :-(
更新 3:
別のデータベース インストール バージョン 11.2 (最初は 11.1) でテストを行いましたが、結果は同じでした。
SYSTEM
また、ユーザー(DBA Privilege
パーツも使用) の場合、すべてが正常に機能することに注意してください。しかし、私は一緒に働かなければSYS
なりません。