- PR -

ASP.NETでORACLEに接続時のエラー

投稿者投稿内容
eukn
会議室デビュー日: 2004/10/22
投稿数: 10
投稿日時: 2005-04-28 09:44
お世話になっております。

前に作ったASP.NET+ORACLEのシステムを動かそうとしたところ、次のようなエラーが発生してしまいました。

Could not create an environment: OCIEnvCreate returned -1.

このスレッドに対処法が書いてあったので、実際にやってみましたが、まったく変わりません。そこでORACLEを再インストールし、もう一度同じ対処法を施してみたのですが、やはり変わりません。
以前動いていたときと環境はまったく変わっていません。

ほかに原因のわかる方、ご教授いただけないでしょうか??

ちなみに環境は
WINDOWS XP SP2
.NET FRAMEWORK 1.1 (1.1.4322 SP1)
ORACLE 9i(9.2.0.1.0)
です。
よろしくお願いします。
いーた
大ベテラン
会議室デビュー日: 2004/07/12
投稿数: 154
お住まい・勤務地: 東京
投稿日時: 2005-04-28 09:52
まず、確認させて下さい。

・Oracleとの接続には何を使用されていますか?
・実際にどのような対処を行ったか教えてもらえますか? 
eukn
会議室デビュー日: 2004/10/22
投稿数: 10
投稿日時: 2005-04-28 10:23
いーたさん
返信ありがとうございます。

・Oracleとの接続には何を使用されていますか?
→System.Data.OracleClientを参照して接続しています。

・実際にどのような対処を行ったか教えてもらえますか? 

1.oracleのインストールディレクトリ(ora92フォルダ)のセキュリティで
  ASPNET(ASP.NET Machine Account)
IWAM_マシン名(IISプロセスアカウントの起動)
  IUSE_マシン名(インターネットゲストアカウント)
の3つのユーザを追加し、それぞれに
  読み取りと実行
  フォルダ内容の一覧表示
  読み取り
の3つの権限をつけた。
2.oracleのインストールディレクトリ(ora92フォルダ)のセキュリティで
Authenticated Users を一度削除し、再び追加。
3.うまく動かなかったため、ORACLEを再インストール
4.上記1.2.をもう一度やりなおし

以上の対処を行いました。
よろしくお願いします。
いーた
大ベテラン
会議室デビュー日: 2004/07/12
投稿数: 154
お住まい・勤務地: 東京
投稿日時: 2005-04-28 16:00
{ORACLE_HOME}/binフォルダとその配下にあるoci.dllに対してアクセス権限は付与されているでしょうか?

見当外れでしたらすみません。
eukn
会議室デビュー日: 2004/10/22
投稿数: 10
投稿日時: 2005-05-02 09:49
>いーたさん
>{ORACLE_HOME}/binフォルダとその配下にあるoci.dllに対してアクセス権限は付与されているでしょうか?

見当外れでしたらすみません。

アクセス権限は付与されています。何度確認しても{ORACLE_HOME}フォルダには
ASPNET(ASP.NET Machine Account)
 IWAM_マシン名(IISプロセスアカウントの起動)
 IUSE_マシン名(インターネットゲストアカウント)
の3つのユーザに権限が付与されているんです。

ちなみにこれに関連して(??)一つおかしな現象がおきています。
私は普段ACCESSのリンクテーブル(ODBC)経由でoracleのテーブルを見ています。このリンクテーブルがやはりつながらなくなってしまいました。
何度確認してもODBCの設定はしてあるんですが。。。
そこでORACLEを再インストールしたときにODBCの設定をしなおしました。
一時的にはつながるようになったのですが、今日再びつながらなくなりました。もちろんODBCの設定は一切変更していません。

この現象がなにかヒントにならないでしょうか???
よろしくお願いします。
ジョン吉
常連さん
会議室デビュー日: 2005/02/25
投稿数: 33
投稿日時: 2005-05-02 13:19
ODBC経由でもつながらないと言うことですが、
sqlplus ではどうですか?

私の環境では、PCを普通にシャットダウンし、再起動するとOracleそのものが起動しない
ケースが結構あります。
(oracleを停止してからPCをシャットダウンすると問題は発生しません)
そのときは、sysdba 権限でsqlplusでoracleにログインして、スタートアップをかけています。

ただ、Oracleが起動していないときののエラーは eukn さんが投稿したエラーではなかったですけど。
eukn
会議室デビュー日: 2004/10/22
投稿数: 10
投稿日時: 2005-05-02 14:09
ジョン吉さん
返信ありがとうございます。

>ODBC経由でもつながらないと言うことですが、
>sqlplus ではどうですか?

sqlplusは問題なくつながります。oracle単体で接続することはできるんです。
ただODBCを経由するとつながらないんです。
ASP.NETアプリケーションもODBC経由で接続しているのでやはりつながりません。
ODBCの問題なんじゃないかと思っているんですが。。。どこがどうすればいいのかさっぱりわからないのです。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-05-02 16:43
 ODBC経由なら、ODBCの設定をしなければ行けないと思います(コントロールパネル→管理ツール→データソース(ODBC))。これを、どこのタブで設定しましたか?
 タブを移動させないと「ユーザ」になりますよね。すると、ASP.NETからは使えないでしょう。

# しかし、なぜODBC?
_________________

スキルアップ/キャリアアップ(JOB@IT)