- PR -

レコードが選択されませんでした。

投稿者投稿内容
未記入
会議室デビュー日: 2006/09/15
投稿数: 3
投稿日時: 2006-09-15 18:20
調べてみたのですが、同一の現象が見つからなかったので質問させて頂きます。
簡単に書くと自分のPCからだけ特定のDBからレコードが取得できません。

DBは3個あります。

-DB1 Oracle 8i English
接続OK、データ取得OK

-DB2 Oracle 9i English
接続OK、データ取得OK

-DB3 Oracle 9i English
接続OK、データ取得NG、他のPCから取得OK

DB3に対してレコードが存在するはずなのに、
全てのテーブルからデータが取得できません。
「レコードが選択されませんでした。」
select * from cat;
では取得できるので、接続はできています。
他の人のPCからは同じIDで取得できています。

clientは8i 9i共に試しましたが結果は、
同じでレコードが選択されませんでした。
Windows XP Home english versionを
日本語に設定して使っております。

アドバイスをよろしくお願いします。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2006-09-15 19:55
いったい何を使ってデータの取得を行ったのですか? SQL*plus?
それから条件を設定しなければ取得できるとのことですが、取得できないSQLは
どのようなものなのですか?
七味唐辛子
ぬし
会議室デビュー日: 2001/12/25
投稿数: 660
投稿日時: 2006-09-15 21:00
自分のPCからだけ特定のDBからレコードが取得できません。 というのは
非常に考えづらい というかありえない。

ほんとうに それぞれのDBに接続されているのか?

というか なぜ DB1 DB2が関係しているのかわからない
関係あるの





99ri
大ベテラン
会議室デビュー日: 2006/09/09
投稿数: 129
投稿日時: 2006-09-15 22:52
接続先がDB3になっていないのでは?
設定ファイルはtnsnames.oraです
パソコンのスタートからたどってOracleのNetがキーワードにある
該当GUIツールで確認するか
テキストファイルなので該当ファイルの場所を調べて内容を比較してみてはいかがでしょうか
未記入
会議室デビュー日: 2006/09/15
投稿数: 3
投稿日時: 2006-09-16 12:23
レスありがとうございます。

いったい何を使ってデータの取得を行ったのですか? SQL*plus?
>はい。

それから条件を設定しなければ取得できるとのことですが、取得できないSQLは
どのようなものなのですか?
>条件ではなくシステムテーブルからはデータが取得できるが、
普通の全テーブルからは取得できないという意味です。

>なぜ DB1 DB2が関係しているのかわからない関係あるの
DB1 DB2には普通に接続できており、
Clientの設定が間違っていないことを言いたかっただけです。

tnsnames.oraは他のPCと全く同一の物を使用しています。

他のPCとの違いはXP英語バージョンをそのまま使っているか、
XP英語バージョンを日本語環境でつかっているかです。
DB1 DB2に対しては全く問題がないので、
本当に不思議な現象です。

よろしくお願いします。

99ri
大ベテラン
会議室デビュー日: 2006/09/09
投稿数: 129
投稿日時: 2006-09-16 17:09
同じIDとはデータベースに接続するユーザIDのことですか?
ユーザIDならコマンドプロンプトから tnsping ネットサービス名 
を実行して下さい

sqlplusのメッセージ表示は英語ですか?

select * from cat;で表示されたテーブルの件数だけを
取得するSQLを実行するとどうなりますか?
例 select count(*) from 表示されたテーブル

検索条件指定でHITしないということなら
検索条件に日付や時間を指定していませんか?

[ メッセージ編集済み 編集者: 99ri 編集日時 2006-09-16 17:27 ]

[ メッセージ編集済み 編集者: 99ri 編集日時 2006-09-16 19:59 ]
未記入
会議室デビュー日: 2006/09/15
投稿数: 3
投稿日時: 2006-09-16 21:53
レスありがとうございます。

同じIDとはデータベースに接続するユーザIDのことですか?
>はい。他のPCと同じユーザーIDにて接続しています。

sqlplusのメッセージ表示は英語ですか?
>日本語です。
>サーバには英語バージョンがインストールされています。
>クライアントはXP英語を日本語環境に設定すると、
>自動的に日本語環境でOracleクライアントがインストールされました。
>他のPCと同一CDを使用してインストールしました。
>他のPCは英語XPを英語環境で使用しております。

select * from cat;で表示されたテーブルの件数だけを
取得するSQLを実行するとどうなりますか?
例 select count(*) from 表示されたテーブル

>0件でした。

検索条件指定でHITしないということなら
検索条件に日付や時間を指定していませんか?
>検索条件は指定しておりません。
>テーブルにレコードが存在するのに取得できないのです。
>レコードの存在は他のPCから確認しました。
「レコードが選択されませんでした。」
>検索条件により取得できない訳ではないです。


99ri
大ベテラン
会議室デビュー日: 2006/09/09
投稿数: 129
投稿日時: 2006-09-17 00:16
同じユーザIDでデータが異なることはありません
接続先が異なっている可能性が一番高いです

問題のコンピュータにバージョンの異なる複数のoracleクライアントを
インストールしていませんか?
別の設定ファイルを参照している可能性があります

権限がないとエラーになりますが
select host_name from v$instance;
でホスト名がわかります

tnsping をやってみましたか
sqlplusでログインするときの@以降がネットサービス名になります

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