Oracle初心者です。
機器更新によるシステム移行を行っているのですが、
Oracleより、抽出データをCSVに出力する、プロシージャにて、

「ORA-29280: 無効なディレクトリ・パスです。」

のエラーが出て対処法が分からずに困っています。

以下、プロシージャ部分抜粋
--------------------------------------------------------------------------------
fno1 utl_file.file_type := utl_file.fopen('EXPORT_DIR','TEST1.csv', 'W');
fno2 utl_file.file_type := utl_file.fopen('EXPORT_DIR','TEST2.csv', 'W');
--------------------------------------------------------------------------------

上記の、「EXPORT_DIR」とは、どこで定義されている変数(?)なのでしょうか?

なんとなく、EXPORT_DIRが正しくないためのエラーと考えているのですが…

処理の流れとしては、TEST.bat → TEST.sql → プロシージャ  で、
TEST.batには試しに、SET EXPORT_DIR = D:\TEST
としてみたのですが、エラーのままでした。

ひょっとして、Oracleに設定すべきもの?

すみませんが、どこでどのように定義するか教えてください。

環境:
Oracle11g
WindowsServer2008R2

A 回答 (1件)

こんにちわ。



> ひょっとして、Oracleに設定すべきもの?
そうです。
ディレクトリオブジェクトです。

こんな感じで設定して下さい。
sqlplus "/ as sysdba"
SQL> Create directory EXPORT_DIR as 'D:\TEST';
SQL> grant read on directory EXPORT_DIR to ユーザ名;
SQL> grant write on directory EXPORT_DIR to ユーザ名;
SQL> exit
    • good
    • 0
この回答へのお礼

なるほど!
現行の設定を確認後、登録してみたいと思います。
ありがとうございました。

お礼日時:2013/05/23 09:50

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

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aと関連する良く見られている質問

QA(アー)B(ベェー)C(ツェー)…の続きを教えて下さい!

確かアルファベットをA→「アー」、B→「ベェー」C→「ツェー」
と、発音する外国語があったと思います。
何語なのかも解らないので、A~Zまでの読み方を教えて戴ければ幸いです。

Aベストアンサー

それはドイツ語だと思いますが知りませんので

仏蘭西語の場合:

ア、ベ、セ、デ、エ、エフ、ジェ、

アッシュ、イ、ジ、カ、エル、エム、エヌ、

オ、ペ、クュ(キュ)、エェル、エス、テ、ユ、ヴェ、

ドブルヴェ、イクス、イグレック、ゼッド。

・・・ドイツ語も似ていた気はしますが、仏蘭西語だけ自身あり?

QORA-01843: 指定した月が無効です。エラー

使用環境
WINXPPro WIN2003SERVER Oracle10g

データベースに数値型の日付があるのですが、これを日付型にして表示しようとすると「ORA-01843: 指定した月が無効です」となってしまいます。

select
B01 as 番号,B02 as 注文先,
to_DATE(to_char(B10, '000000'),'RRMMDD') as 納期,
B03 as 品名,B04 as 型式,B05 as 数量 FROM TYUMON

結果、数件は表示されます
多分、数値が6桁になっているデータだと思います
940101
990201
です。

検索してみて
ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';
を実行しても結果は同じでした。

よろしくお願いします

Aベストアンサー

B13をすべてチェックしてみてください。
恐らく、年月日にマッチしないデータがあるんだと思います。
例)940101→1994年01月01日 ○
  940000→1994年00月00日 ×
  940132→1994年01月32日 ×
  

以下、試した結果です。

SQL> SELECT TO_DATE(TO_CHAR(940101, '000000'),'RRMMDD') FROM DUAL ;

TO_DATE(
--------
94-01-01


SQL> SELECT TO_DATE(TO_CHAR(940131, '000000'),'RRMMDD') FROM DUAL ;

TO_DATE(
--------
94-01-31


SQL> SELECT TO_DATE(TO_CHAR(940132, '000000'),'RRMMDD') FROM DUAL ;
SELECT TO_DATE(TO_CHAR(940132, '000000'),'RRMMDD') FROM DUAL
*
行1でエラーが発生しました。:
ORA-01847: 月単位の日付は1から月末日の間で指定する必要があります


SQL> SELECT TO_DATE(TO_CHAR(940000, '000000'),'RRMMDD') FROM DUAL ;
SELECT TO_DATE(TO_CHAR(940000, '000000'),'RRMMDD') FROM DUAL
*
行1でエラーが発生しました。:
ORA-01843: 指定した月が無効です。


如何でしょうか。

B13をすべてチェックしてみてください。
恐らく、年月日にマッチしないデータがあるんだと思います。
例)940101→1994年01月01日 ○
  940000→1994年00月00日 ×
  940132→1994年01月32日 ×
  

以下、試した結果です。

SQL> SELECT TO_DATE(TO_CHAR(940101, '000000'),'RRMMDD') FROM DUAL ;

TO_DATE(
--------
94-01-01


SQL> SELECT TO_DATE(TO_CHAR(940131, '000000'),'RRMMDD') FROM DUAL ;

TO_DATE(
--------
94-01-31


SQL> SELECT TO_DATE(TO_CHAR(940132, '000000'),'RRM...続きを読む

QセリエAはエー?アー?

イタリアのプロサッカーリーグ「セリエA」の「A」の読み方が、いろいろとテレビで聞いてると「エー」だったり「アー」だったりするんですが(「ア」と聞いたこともある記憶が)、どれが正しいんでしょうか(それとも明確な基準はなく、どれでもいいんでしょうか?)
そこらへんのところがよくわからないんで「…だと思う」といった回答でもいいんで教えて下さい。

Aベストアンサー

 少し解説を…

 セリエAの「A」の,英語の発音が「エー」,イタリア語の発音が「アー」です。
 どちらでも良いといえばよいのですが,やはりイタリア語を尊重して「セリエ・アー」と呼びたいですね。



http://www2s.biglobe.ne.jp/~cama/italia/lezione/bunpo02.html

参考URL:http://www2s.biglobe.ne.jp/~cama/italia/lezione/bunpo02.html

QoracleのimpdpでORA-39166

ORALCEのexpdpおよびimpdpの勉強のために自宅環境で操作していたところ、
impdpにてORA-39166(オブジェクトが見つからない)が発生してしまいした。
いろいろ調べてみたのですが、解決に至ってないためお力添えをお願いいたします。

【環境】
OS : linux ※CentOS(64bit)
ORALCE11gXE

【やりたいこと】
studyスキーマのTEST1テーブルをexpdpでエクスポート(content=data_only)し、
同じスキーマ内のTEST2テーブルにimpdpにてデータを入れる。

【発生までの操作】
1.expdp system/パスワード@XE directory=test_dir tables=study.TEST1 log=test_exp.log content=data_only

2.impdp system/パスワード@XE directory=test_dir dumpfile=expdat.dmp log=test_imp.log tables=study.TEST2 content=data_only

2の操作をしたタイミングで以下のメッセージ。

ORA-39002: invalid operation
ORA-39166: Object STUDY.TEST2 was not found.

【備考】
・TEST1およびTEST2はまったく同じテーブル構造です。studyユーザで作成してます。
・STUDY.TEST2は存在します。
(「sqlplus study/パスワード@XE」でログインしdesc TEST2で確認できるため)
・exdpは正常に終了しており、dumpファイルは「expdat.dmp」で作成されています。


以上です。
ご教授のほどよろしくお願いいたします。

ORALCEのexpdpおよびimpdpの勉強のために自宅環境で操作していたところ、
impdpにてORA-39166(オブジェクトが見つからない)が発生してしまいした。
いろいろ調べてみたのですが、解決に至ってないためお力添えをお願いいたします。

【環境】
OS : linux ※CentOS(64bit)
ORALCE11gXE

【やりたいこと】
studyスキーマのTEST1テーブルをexpdpでエクスポート(content=data_only)し、
同じスキーマ内のTEST2テーブルにimpdpにてデータを入れる。

【発生までの操作】
1.expdp system/パスワード@XE directory...続きを読む

Aベストアンサー

「expdat.dmp」の中に「STUDY.TEST2」というオブジェクトの
情報がないという意味のメッセージが出ているので
そのまんまの内容だと思うのですが。

そもそもData Pumpはバックアップや別のスキーマ・インスタンスに
移動する際に使用する機能であって、同一スキーマの別テーブルに
移動する為に使用するものではなかったと思います。たぶん。

study.TEST1のデータを削除して以下のコマンドを実行したらどうなりますか?
impdp system/パスワード@XE directory=test_dir dumpfile=expdat.dmp log=test_imp.log tables=study.TEST1 content=data_only

Qサンダーバーズ アー ゴー って?

The Thunderbirds 実写版を観てきました。
40代のオジさんたちにとっては懐かしさと相まってとても楽しい映画でした。

お馴染みのタイトルコール
5、4、3、2、1、 The Thunderbirds Are Go!
(って聞こえるのですが…)
小さい頃はカタカナで単にサンダーバーズ ア ゴーって聞こえていて、後々ア ゴーは ago かなと漠然と思っていました。
今回映画を観ながら、The Thunderbirds Are Go!って文法的に変だな~?と感じました。
知り合いのアメリカ人(同年代)にこの事を聞いてみたのですが、そもそもアメリカでは
The Thunderbirdsの人形劇自体ポピュラーではなく知らない様子で、「確かに変だ。だけど軍隊では It's a go! と言う時もある。」とか言っていました。
どなた方教えてください。

Aベストアンサー

以前に同じような質問を見ましたよ。参考URLをご覧ください。

参考URL:http://okweb.jp/kotaeru.php3?q=305735

QOracle 10gでORA-12154:TNS:could not...

Oracle 10gのクライアント-サーバー環境でSQL*Plusなどから
ローカルネーミングで接続しようとするとORA-12154:TNS:could not
resolve the connect identifier specifiedが出て接続できません。
サーバー(ホスト名;aspire)
VistaHomePremiumSP1
Oracle10gDatabase
クライアント
XPHomeEditionSP3
Oracle10gClient
tnsnames.oraの内容
# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = aspire)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
oracle.keyの内容
SOFTWARE\ORACLE\KEY_OraClient10g_home1
レジストリの内容
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1]
"ORACLE_HOME"="C:\\oracle\\product\\10.2.0\\client_1"
"ORACLE_HOME_NAME"="OraClient10g_home1"
"ORACLE_GROUP_NAME"="Oracle - OraClient10g_home1"
"ORACLE_BUNDLE_NAME"="Enterprise"
"NLS_LANG"="JAPANESE_JAPAN.JA16SJIS"
"StatementCacheSize"="0"
"OLEDB"="C:\\oracle\\product\\10.2.0\\client_1\\oledb\\mesg"
"StmtCacheSize"="0"
"SQLPATH"="C:\\oracle\\product\\10.2.0\\client_1\\dbs"
"OO4O"="C:\\oracle\\product\\10.2.0\\client_1\\oo4o\\mesg"
"ORACLE_HOME_KEY"="SOFTWARE\\ORACLE\\KEY_OraClient10g_home1"
"MSHELP_TOOLS"="C:\\oracle\\product\\10.2.0\\client_1\\MSHELP"
なお、簡易接続ネーミングでは成功します。
sqlplus scott/tiger@aspire/orcl
また、環境変数ORACLE_HOMEを設定すると成功します。
set ORACLE_HOME=C:\oracle\product\10.2.0\client_1
sqlplus scott/tiger@orcl
諸先輩方のアドバイスをお願いいたします。

Oracle 10gのクライアント-サーバー環境でSQL*Plusなどから
ローカルネーミングで接続しようとするとORA-12154:TNS:could not
resolve the connect identifier specifiedが出て接続できません。
サーバー(ホスト名;aspire)
VistaHomePremiumSP1
Oracle10gDatabase
クライアント
XPHomeEditionSP3
Oracle10gClient
tnsnames.oraの内容
# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL...続きを読む

Aベストアンサー

>サーバー(ホスト名;aspire)
>VistaHomePremiumSP1

多分、OSがソフトウェア要件を満たしていないせいだと思われます。

参考URL:http://otndnld.oracle.co.jp/document/products/oracle10g/102/windows/B25255-04/reqs.htm#62275511

Qニコラス ツェー

ニコラス ツェーが交通事故を起こしたらしいんですが

ツェーは、自ら運転する車でランタオ島にある国際空港に向かう途中、別の車と接触した。後者の車には3人が乗っていたが、うち2人が重傷だという。

 地元テレビでは、頭部を固定された状態のツェーが担架で病院に運び込まれる様子が映し出された。

というトコロまではわかりました。これより詳しい状況知っている人いますか?
あと、今の容態はどうなんでしょう? 生命の危険に関わるような酷い状態なんでしょうか? ちょっと古いニュースしか検索できなかったのですが、まさかもう亡くなっている? 

Aベストアンサー

現在、ニコラス・ツェー(謝霆鋒)は交通事故の身代わり運転がバレ、裁判中です。

QOracle10g for Solaris への接続で ORA-12154 エラー

 
お世話になります。

仮想環境(VMware)上にある Oracle10g for Solaris へクライアントPC(WinXP SP2)からSQL*Plusで
接続を行ったところ問題なく成功するのですが、サーバー機(WindowsServer2003 R2)から接続を行うと

ORA-12154 TNS:指定された接続識別子を解決できませんでした

というエラーが出て接続できませんでした。

クライアントPCで接続に成功した時と同じユーザー名、パスワード、
ホスト文字列を入力していますのでその辺の間違いではないようです。
サーバー機からOracleがインストールされている仮想環境へのpingは通っています。
サーバー機のブラウザ(IE6)からOracle Enterprise Managerへのログインも成功します。
※IEのセキュリティ設定の「信頼済みサイト」に追加後に成功。

ちなみにサーバー機は WindowsServer2003 R2 をインストールしたまま
(セキュリティ関係の設定は特に変更していない)の状況です。
Windowsファイアウォールも無効になっています。

何か WindowsServer2003 のデフォルトのセキュリティ設定が影響して
接続できないのかと思っているのですが・・・何が原因なのでしょうか?


よろしくお願いいたします。


【環境】
クライアントPCが1台、サーバー機が1台、サーバー機上にVMwareでの仮想環境構築。
仮想環境にはSolaris10、Oracle10g for Solarisがインストール済み。

●クライアント :PC_A
cpu :Intel C2D(32bit)
os :WinXP SP2
.net framework :1.1、2.0
Oracle Client for Win(32bit)導入済み

●サーバー機 :SVPC_A
cpu :Intel (64bit)
os :WindowsServer2003 R2
.net framework :1.1、2.0
Oracle Client for Win(32bit)導入済み
Windowsファイアウォール無効

●VMwareでの仮想環境(SVPC_A上に作成)
仮想サーバー :VMSVPC
os :Solaris10
database :Oracle10g for Solaris(64bit)


【状況】
クライアントPC(PC_A)のウェブブラウザ(IE6)からOracle Enterprise Managerへのログイン可能。
SQL*Plus での接続も問題なし。

(ログオン時の入力例)
  ユーザー名:system
  パスワード:xxxxxxxxxx
  ホスト文字列:ORCL_VMSVPC


サーバー機(SVPC_A)のウェブブラウザ(IE6)からOracle Enterprise Managerへのログイン可能。
SQL*Plus での接続でエラーが発生。

(ログオン時の入力例)
  ユーザー名:system
  パスワード:xxxxxxxxxx
  ホスト文字列:ORCL_VMSVPC

 
お世話になります。

仮想環境(VMware)上にある Oracle10g for Solaris へクライアントPC(WinXP SP2)からSQL*Plusで
接続を行ったところ問題なく成功するのですが、サーバー機(WindowsServer2003 R2)から接続を行うと

ORA-12154 TNS:指定された接続識別子を解決できませんでした

というエラーが出て接続できませんでした。

クライアントPCで接続に成功した時と同じユーザー名、パスワード、
ホスト文字列を入力していますのでその辺の間違いではないようです。
サーバー機からOracleがインスト...続きを読む

Aベストアンサー

サーバ機とクライアントPCのtnsnames.oraは同一でしょうか?

また、サーバ機からtnspingは通りますか?
tnsping ORCL_VMSVPC

Qアナ・ジョンソンの「ウィ・アー」が見つかりません。

映画「スパイダーマン2」のサントラのテーマ曲「ウィ・アー」でデビューしたというアナ・ジョンソンですが、そのDVDレンタル「スパイダーマン2」を視聴しても、「ウィ・アー」が見つかりません。どこで流れているのでしょうか?(3回見ましたが、分かりませんでした。)実は、2/13(日)にアナ・ジョンソンのライブに行きますので、その前に見ておきたかったのですが・・・

Aベストアンサー

この曲は確かCMのみで使われていて、劇中では流れていなかったと思いますが…

# バイオハザード2アポカリプスのCMソング「Not Listening」も劇中では流れていなかったような気がしますね。

Qoracle ora-02298

テーブルが2つあり、

テーブル1 ID1 ID2 ID3 [PRIMARY-KEY制約] ID1 ID2
テーブル2 ID1 ID4 ID2 [PRIMARY-KEY制約] ID1 ID4

のテーブルがあります。

テーブル2にてFOREIGNKEY制約(ID1とID2)を実施すると
ora-02298が発生してしまいます。

どのようにすればFOREIGNKEY制約をかけれますか?

Aベストアンサー

インターネットで検索できる、Oracleのエラーリファレンスは、見られましたか?
(”明白”としかかかれていませんが)

2つのテーブルには、すでにレコードがそんざいしますよね。


テーブル2に、ゴミレコードが存在するのでは?
つまり、テーブル1には存在しない、ID1,ID2の組み合わせを持つレコードが存在しませんか?
NOT IN で、対象となるレコードを検索されては?


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング