ASP.NET のインストール後に Oracle データベースにアクセスできない問題を解決する この記事をどこに投稿したか忘れました。ASP.NET
と Oracle9i クライアントをインストールした後、System.Data.OracleClient を使用してアクセスすると、次のメッセージが表示されました
。Oracle データベースには、
Oracle クライアント ソフトウェア バージョン 8.1.7 以降が必要です。
これは、
Windows の NTFS パーティションにインストールされている Oracle 9i Release 2 クライアントのセキュリティ認証設定が正しくないためです。ユーザー ユーザーが ORACLE_HOME ディレクトリの内容を表示できないため、ASP.NET が System.Data.OracleClient を使用して認証済みユーザーのアクセス許可で Oracle データベースに接続すると、上記のエラーが報告されます。
解決策
上記の問題を解決するには、Oracle ホーム ディレクトリへのアクセス権限を Authenticated Users グループに追加し
、
管理者権限で Windows にログインします。
Windows リソース ブラウザを起動し、ORACLE_HOME ディレクトリ (C:Oracleora92 など) を見つけます。
ポップアップ メニューを右クリックし、ディレクトリの共有とセキュリティを選択します (Win2000 では [プロパティ] をクリックします)。
[セキュリティ] タブをクリックし、グループ名とユーザー名のリストで [認証されたユーザー] 項目をクリックします。
ユーザーの権限リストで、「読み取りと実行」チェックボックスのチェックを外し、「読み取りと実行」チェックボックスを再度クリックしてオンに設定します。「詳細」ボタンをクリックして、権限項目「認証されたユーザーが持っているかどうかを確認」を選択します。 「このフォルダー、サブフォルダー、およびファイル」に適用される「読み取りと実行」のアクセス許可が適用されていない場合は、それをダブルクリックし、「このフォルダー」および「サブフォルダーとファイル」にアクセス許可が適用されていることを確認します。重要なので必ず確認してください。
すべての変更を有効にするには、[OK] ボタンをクリックして再起動します
。 == =============
「OraOLEDB.Oracle.1」プロバイダーがローカル マシンに登録されていない この状況には 3 つの理由が考えられます。
1. Oracle がインストールされているマシンは NTFS ですか。その場合は、Ora81 の下にある BIN のすべての権限をすべてのユーザーに解放します。
(そうでない場合、B/S 構造では、ディレクトリにアクセスする権限がないため、このエラーが報告されます)
2. データベース サーバーが Oracle816 の場合。サーバー マシンの Ora81networkADMIN で sqlnet.ora ファイルを見つけて、
SQLNET.AUTHENTICATION_SERVICES= (NTS) が次のように変更されました。
SQLNET.AUTHENTICATION_SERVICES= (なし)
(これにより、一部のマシンでドライバーの初期化失敗エラーが報告されます。このエラーは、OracleClient の使用時に一度発生しました)
3. 上記のいずれの方法でも問題が解決しない場合。レジストリへの登録が本当に失われたのかどうかを検討できます。 (可能性は比較的小さいですが、窓はまだ比較的安全です)
regsvr32 ..ORACLE_HOMEbinOraOLEDB.dll
それでも動作しない場合は、クライアントを再インストールしてみてください。