0

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なりません。

4

2 に答える 2

0

11g で変更された点の 1 つは、パスワードで大文字と小文字が区別されるようになったことです。どのように ConnectionString を作成しているのかわかりませんが、間違った大文字と小文字のパスワードを取得 (または入力) している可能性はありますか?

于 2010-04-09T12:55:48.177 に答える
-1

このスレッドによると、接続 文字列に追加する必要がありas sysdbaます。

于 2010-04-09T12:42:34.140 に答える