C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: オラクル接続について


(過去ログ 77 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■45258 / inTopicNo.1)  オラクル接続について
  
□投稿者/ ごとぅーん (6回)-(2010/01/07(Thu) 15:48:28)

分類:[ASP.NET (VB)] 

2010/01/07(Thu) 15:50:05 編集(投稿者)

いつもお世話になっております。

現在オラクルからデータを取得するPGを作成しております。

コマンドプロンプトからSQL*PLUSに接続し、SQL文を投げると正しい結が返却されるのですが、
PGから同じように接続し、同じSQL文を投げると「ORA-00942: 表またはビューが存在しません。」とエラーが出てしまいます。

上記は同一PCから作業を行っているのですが、なぜ結果が違ってしまうのでしょうか。
ご教授願います。

環境:WindowsServer2003、VisualStudio2005

引用返信 編集キー/
■45260 / inTopicNo.2)  Re[1]: オラクル接続について
□投稿者/ T_A~K_A (40回)-(2010/01/07(Thu) 16:11:35)
ごとぅーんさん こんにちは。

プログラムにてエラーが発生しているようですが、
Openは成功しているのですよね。
接続が成功しているのであれば、権限の問題とか・・・。
それはないかもしれませんが、今一度確認してみては?SELECT権限とか。

接続子もSQL*PLUSと同一ですよね。
参照先のスキーマが違ったりしてませんか?
対象のテーブルはシノニムをですか?ローカルですか?

プログラムにて作成されたSQL文を、そのままSQL*PLUSに貼り付けて実行してみては?
構文エラーが発生しませんかねぇ。

引用返信 編集キー/
■45261 / inTopicNo.3)  Re[2]: オラクル接続について
□投稿者/ ごとぅーん (7回)-(2010/01/07(Thu) 16:26:21)
No45260 (T_A~K_A さん) に返信

T_A~K_Aさん、返信ありがとうございます。

> Openは成功しているのですよね。
Openは成功しております。

> 接続が成功しているのであれば、権限の問題とか・・・。
> それはないかもしれませんが、今一度確認してみては?SELECT権限とか。
権限は持っているはずです。

> 接続子もSQL*PLUSと同一ですよね。
> 参照先のスキーマが違ったりしてませんか?
同一です。

> 対象のテーブルはシノニムをですか?ローカルですか?
ローカルです。

> プログラムにて作成されたSQL文を、そのままSQL*PLUSに貼り付けて実行してみては?
> 構文エラーが発生しませんかねぇ。
貼り付けて実行すると、うまくいくんですよ…^^;
引用返信 編集キー/
■45262 / inTopicNo.4)  Re[3]: オラクル接続について
□投稿者/ T_A~K_A (41回)-(2010/01/07(Thu) 16:33:07)
T_A~K_Aです。

> Openは成功しております。
そうですかぁ。

> 権限は持っているはずです。
テーブルに対してユーザ/パスワードも付与されていますかねぇ?

> 貼り付けて実行すると、うまくいくんですよ…^^;
そうですかぁ・・・。
だとすると使用しているドライバはなんでしょうか?
SQL*PLUSだと標準でODBCなんですかね?

プログラムからは何で接続していますか?
ODP.NETとかですか?ODP.NETは最新のパッチを当てていますか?

引用返信 編集キー/
■45263 / inTopicNo.5)  Re[1]: オラクル接続について
□投稿者/ はつね (1151回)-(2010/01/07(Thu) 16:43:37)
はつね さんの Web サイト
No45258 (ごとぅーん さん) に返信
> コマンドプロンプトからSQL*PLUSに接続し、SQL文を投げると正しい結が返却されるのですが、
> PGから同じように接続し、同じSQL文を投げると「ORA-00942: 表またはビューが存在しません。」とエラーが出てしまいます。

Oracleのバージョンは?
接続はODP.NETですか?

テーブル名に日本語とかつかっているなら"で囲っていますか?
SELECT * FROM "テーブル" みたいに。
PGで文字列変数にいれるなら、"SELECT * FROM ""テーブル"""

もしくはSQL*Plusではスキーマ名いれてるけどPGでは入れてないでスキーマ所有者と別IDでログインしているとか。

引用返信 編集キー/
■45265 / inTopicNo.6)  Re[2]: オラクル接続について
□投稿者/ ごとぅーん (8回)-(2010/01/07(Thu) 17:24:46)
2010/01/07(Thu) 17:26:47 編集(投稿者)

No45262 (T_A~K_A さん) に返信
>テーブルに対してユーザ/パスワードも付与されていますかねぇ?
初耳です…。ちょっと調べてみます…。

>だとすると使用しているドライバはなんでしょうか?
>SQL*PLUSだと標準でODBCなんですかね?
OracleClientをインストールしただけなのですが、ODBCなのかな…?


>プログラムからは何で接続していますか?
>ODP.NETとかですか?ODP.NETは最新のパッチを当てていますか?
おっしゃる通りODP.NETです。パッチ当ててみます!

No45263 (はつね さん) に返信
はつねさん 返信ありがとうございます。

> Oracleのバージョンは?
10gR2です。

> 接続はODP.NETですか?
ODP.NETを使用しております。

> テーブル名に日本語とかつかっているなら"で囲っていますか?
> SELECT * FROM "テーブル" みたいに。
> PGで文字列変数にいれるなら、"SELECT * FROM ""テーブル"""
テーブル名はべたうちしていますが、必要なのでしょうか?
試しにやってみましたが、結果は同じでした。

> もしくはSQL*Plusではスキーマ名いれてるけどPGでは入れてないでスキーマ所有者と別IDでログインしているとか。
別IDでログインしていたとしても、念の為SQL文にもスキーマ名をつけていますので、大丈夫なはずなのです。
試しにPG側で別IDからログインしてみます。
引用返信 編集キー/
■45266 / inTopicNo.7)  Re[3]: オラクル接続について
□投稿者/ T_A~K_A (43回)-(2010/01/07(Thu) 17:31:15)
T_A~K_Aです。

>>プログラムからは何で接続していますか?
>>ODP.NETとかですか?ODP.NETは最新のパッチを当てていますか?
>おっしゃる通りODP.NETです。パッチ当ててみます!
SELECT文で正しい結果が得られないという現象が発生していました。
前のバージョンは忘れましたが・・・。パッチを当てた後のバージョンは分かります。

Oracle Data Provider for .NET 9.2.0.7.0

です。

パッチを当てる事をお勧めします。

引用返信 編集キー/
■45267 / inTopicNo.8)  Re[4]: オラクル接続について
□投稿者/ T_A~K_A (44回)-(2010/01/07(Thu) 17:36:17)
たびたびすみません。
T_A~K_Aです。

> Oracleのバージョンは?
10gR2です。

そーするとOracle Data Provider for .NET 9.2.0.7.0ではないですね。
すみません。

Oracle Data Provider for .NET 2.0 10.2.0.2.20ですかね。
ん〜10gR2という事は違うかもしれませんねぇ・・・。
念の為、確認してみて下さい。


引用返信 編集キー/
■45268 / inTopicNo.9)  Re[5]: オラクル接続について
□投稿者/ T_A~K_A (45回)-(2010/01/07(Thu) 17:46:34)
T_A~K_Aです。

googleで「ODP.NET ORA-00942」と入力したらいくつかヒットしました。

■以下抜粋
ODP.NET経由でのアクセスで、突然ORA-00942が発生するようになる問題が発生。

.NETアプリケーションからODP.NET経由でのアクセス
今までアクセスできていた処理で突然ORA-00942が発生

処理はSELECT * FROM hogeみたいな単純なクエリ
.NETアプリケーションを再起動しても問題は解決しない

問題発生時にSQL*PlusやObject Browserから同じクエリを実行したら問題無し(・ω・)

複数のクライアントで同時に現象が発生する

Oracleのサービスを再起動すると問題解決
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=>みたいですよ!!
ログには特に問題っぽいものは出ていない

らしいです。ますます、ODP.NETがあやしいですね・・・。


引用返信 編集キー/
■45269 / inTopicNo.10)  Re[4]: オラクル接続について
□投稿者/ はつね (1152回)-(2010/01/07(Thu) 18:02:53)
はつね さんの Web サイト
No45262 (T_A~K_A さん) に返信
> SQL*PLUSだと標準でODBCなんですかね?

SQL*PlusはSQL*PlusであってODBCとは無関係です。

引用返信 編集キー/
■45270 / inTopicNo.11)  Re[6]: オラクル接続について
□投稿者/ はつね (1153回)-(2010/01/07(Thu) 18:11:14)
はつね さんの Web サイト
No45268 (T_A~K_A さん) に返信
> ■以下抜粋
> ODP.NET経由でのアクセスで、突然ORA-00942が発生するようになる問題が発生。

http://d.hatena.ne.jp/machi_pon/20061228
↑ここですか?
それ、2006年の話みたいですけど。
ODAC10.2.0.2(ODP.NET)の提供は2007年になってからのような。

> 問題発生時にSQL*PlusやObject Browserから同じクエリを実行したら問題無し(・ω・)
>
> 複数のクライアントで同時に現象が発生する
>
> Oracleのサービスを再起動すると問題解決
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=>みたいですよ!!
> ログには特に問題っぽいものは出ていない

Oracleのサービス再起動がじゃなくて、単純にODP.NETのコネクションプーリング
が生き残っていてダメってだけなんじゃ。
サービス再起動じゃないとだめなら、SQL*PlusやOBからもアウトなはず。
だから、クライアント再起動でも解消すると思いますよ。


> らしいです。ますます、ODP.NETがあやしいですね・・・。

情報元にバージョンが明記されていないので判定は難しいですね。

引用返信 編集キー/
■45272 / inTopicNo.12)  Re[3]: オラクル接続について
□投稿者/ はつね (1154回)-(2010/01/07(Thu) 18:13:40)
はつね さんの Web サイト
No45265 (ごとぅーん さん) に返信
>>テーブル名に日本語とかつかっているなら"で囲っていますか?
>>SELECT * FROM "テーブル" みたいに。
>>PGで文字列変数にいれるなら、"SELECT * FROM ""テーブル"""
> テーブル名はべたうちしていますが、必要なのでしょうか?
> 試しにやってみましたが、結果は同じでした。

べたうちってなんですか?
ODP.NET使っているならSQL文は文字列として扱われると思うのですが。
単純にSQL文を発行しているあたりのコードが間違えているって可能性はないのでしょうか?
#動いていたものがNGじゃなくてずっと動いてないんですよね?

あと"で囲むと大文字小文字区別されますがそのへんも大丈夫?

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -