電子書籍の厳選無料作品が豊富!

ビュー表等の修正について

Access2002とOracle9.2で作成したシステムがあります。
あるレポートを作成するため、ODBCリンクテーブル(ビュー表)を作成してあります。
しかし、レーポートに出力項目を増やしたいため、レポート作成のためのODBCリンクテーブル(ビュー表)に項目(フィールド)を増やしたいのですが、普通にテーブルをデザインで開いて、項目(フィールド)を追加して保存しようとすると「リンクテーブルのプロパティの変更を保存することはできません。」と表示されてしまいます。

初心者なもので、書き込みのしかたに不備があり、質問内容がわかりづらいかもしれませんが、宜しくお願い申し上げます。

A 回答 (3件)

別カテで回答した者です。



ちょっと補足をお願いします。

前便で書いたとおり、私は質問から
「ORACLE側のオブジェクトは、まだ一切修正していない」
と類推しました。
これは正しいですか?

それと、#1さんの書かれたように、(ORACLE側の)テーブルではなく、(ORACLE側の)ビュー、と言う事でよいですか?
テーブルをODBCリンクしているだけで、Access側のクエリを「ビュー表」と呼んでいらっしゃるような気がしたのですが。。。
(違ったらごめんなさい)

ORACLEの場合、AccessのようなGUIのデザイナーは(原則的に)ないので、テーブルにカラムを追加するのもビューにカラムを追加するのも、SQL文で行います。

通常は、SQL*Plus等で実行しますが、そもそもORACLEの(ネットワーククライアント以外の)クライアントはインストールされているでしょうか?

と言う事で補足していただきたいのは。

(1)ORACLE側のオブジェクトはこれから修正するのか修正済みなのか?
(2)修正するとしたら、それはORACLEのテーブルかVIEWか?
(3)Access以外でORACLEに接続する術があるか?
(4)そのMDB(システム)を作成した部署や会社に連絡は可能ではないのか?
(また、ORACLE側の定義を勝手に修正しても大丈夫なのか?)

まあ、(3)については、Accessで接続できているのであれば、Accessのクエリデザインから、パススルークエリを使用してORACLEのSQLを実行できるので、あまり気にしなくてもよいかもしれません。

上記に書かれた内容が、よくわからないようであれば、(4)のシステムを作成した部署なり会社なりに、まず聞くのが順番かと思います。

一応VIEWの修正方法を書いておきますが、VIEWの元ソースが必要です。
元のソースが以下であるとします。

CREATE OR REPLACE VIEW v_test
AS
SELECT
COL1,
COL2
FROM TBL;

このVIEWにTBLのCOL3を表示したいのであれば、VIEWのソースは以下になります。

CREATE OR REPLACE VIEW v_test
AS
SELECT
COL1,
COL2,
COL3
FROM TBL;

これをAccessのパススルークエリで実行すればVIEWの定義が修正されます。
パススルーについては参照URLを参考にしてください。

参考URL:http://www.jade.dti.ne.jp/kamada/access_and_post …

この回答への補足

(1)ORACLE側のオブジェクトはこれから修正するのか修正済みなのか?
A.これから修正します。
(2)修正するとしたら、それはORACLEのテーブルかVIEWか?
A.ORACLEのVIEWです。
(3)Access以外でORACLEに接続する術があるか?
A.あります。
(4)そのMDB(システム)を作成した部署や会社に連絡は可能ではないのか?
(また、ORACLE側の定義を勝手に修正しても大丈夫なのか?)
A.連絡可能です。
勝手には修正しません。
話をするにも私自身が不勉強なので、修正方法等を知りたいのです。

社内的なことまでご心配いただき、痛み入ります。
(Accessテーブルのように既存のビューをみながら追加・修正等できないものなのでしょうか?)

補足日時:2010/06/16 08:50
    • good
    • 0
この回答へのお礼

別カテゴリでも回答いただき、また、ここでもご親切に回答いただき感謝申し上げます。
素直に社内の情報処理担当に教えをこおうと思います。

お礼日時:2010/06/16 19:27

#2さんへの補足から、Oracleビューの変更を未だしていないようなので、#2さんが例として挙げているSQLをSQL Plus等で実行して変更してください。



その後MDBファイルを開き、変更しようとしているリンクテーブルを一旦削除します。
(変更対象テーブルを右クリックし、削除を選択)

そして新規にリンクテーブルを作成します。
(「新規作成」ボタンをクリック
 「テーブルのリンク」を選択してOK
 ファイルの種類から「ODBC データベース」を選択
 データソース名から接続しているデータベースを選択してOK 通常データベース名
 ユーザ名とパスワードを入力してOK
 リンクしたいビュー名を選択してOK 毎回パスワードを聞かれないようにするなら「パスワードの保存にチェックをいれる

これでリンクテーブルが作成されます。作成前と名前が異なる場合は、右クリックから「名前の変更」でテーブル名を変更してください。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
素直に社内の情報処理担当者の教えを請おうと思います。
私には至難の業だったようです。

お礼日時:2010/06/16 19:28

リンクテーブルの参照先ビューの定義は既に変更してあるのでしょうか?



リンクテーブルは、参照先ビューの定義を作成時にコピーしているだけなので、既に変更済みであれば、一度そのリンクテーブルを削除し、もう一度リンクテーブルを作成しなおせば変更されます。

未だ変更してない場合、先にOracleで参照先ビューを作成しなおす必要があります。その後改めてリンクテーブルを作成しなおしてください。

この回答への補足

早速の回答ありがとうございました。
[技術者向]のカテゴリに質問したものの初心者なもので、ご指導いただいた「未だ変更してない場合、先にOracleで参照先ビューを作成しなおす必要があります。」の方法がわからずにおります。
お手数をおかけして申し訳ございませんが、ご教授いただければ幸いです。

補足日時:2010/06/15 18:40
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!