■SI Object Browser 掲示板
|
ユーザの皆様、開発者、サポート担当者の交流のための掲示板です! ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。 なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。 |
|
| ※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】 ※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。 ※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。 ※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。 | |
検索オプション
こけもも
WHEN 句というのを使用すればいけそうですね。
例えば下記の制御ファイルでは ITEM01 の値が 'BBBBB' の
データを破棄するように指示してあります。
(詳しい使い方は SQL*Loader のマニュアルをご参照ください)
# LOAD DATA
# INFILE 'TEST.TABLE01.DAT'
# APPEND
# INTO TABLE TEST.TABLE01
# WHEN "ITEM01" != 'BBBBB' <=ココ
# FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
# TRAILING NULLCOLS("ITEM01","ITEM02","ITEM03")
一時的なテーブルに全件ロードしてから INSERT SELECT 文を
使ってデータを移すとか、CSV の時点でデータをカットすると
かのほうが手っ取り早い気もしますが、状況によりけりですね。
例えば下記の制御ファイルでは ITEM01 の値が 'BBBBB' の
データを破棄するように指示してあります。
(詳しい使い方は SQL*Loader のマニュアルをご参照ください)
# LOAD DATA
# INFILE 'TEST.TABLE01.DAT'
# APPEND
# INTO TABLE TEST.TABLE01
# WHEN "ITEM01" != 'BBBBB' <=ココ
# FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
# TRAILING NULLCOLS("ITEM01","ITEM02","ITEM03")
一時的なテーブルに全件ロードしてから INSERT SELECT 文を
使ってデータを移すとか、CSV の時点でデータをカットすると
かのほうが手っ取り早い気もしますが、状況によりけりですね。
返信を投稿
OB
MAC
ありがとうございます。
csvに変換することでできました。
ただ、例えば読み込みたくないレコードが1件ある場合
そのレコードだけ、skipさせることはできるのでしょうか?
制御ファイルにその読み込みたくないレコードを指定することは可能でしょうか?
csvに変換することでできました。
ただ、例えば読み込みたくないレコードが1件ある場合
そのレコードだけ、skipさせることはできるのでしょうか?
制御ファイルにその読み込みたくないレコードを指定することは可能でしょうか?
返信を投稿
OB
こけもも
>MAC さん
EXCELファイル(*.XLS)を直接取り込む機能は現状ではないようですね。
EXCEL で *.XLS のファイルを CSV フォーマット(*.CSV)に変換して
それを OB の「ロード」機能を使って取り込むのがいいのではないで
しょうか。
実際にデータを取り込むにはデータファイル(*.CSV)の他に制御ファイル
が必要になりますが、これは OB の「ロード」機能で生成可能です。
まずは適当なテーブルにデータを数件入力し、「ロード」機能を使って
「DB->ファイル」と「ファイル->DB」の操作を行ってみるとイメージが
つかめるかもしれません。
蛇足ですが「ロード」機能を使うには、OB が動いているマシンに
SQL*Loader(SQLLDR.EXE) がインストールされている必要があります。
うまく動かない場合は SQL*Loader がインストールされているか、また
ロード」機能のオプション設定で SQLLDR.EXE のパスが正しく設定
されているか等を確認してみましょう。
また、対象データが少なければ直接コピーペーストしちゃうってのも
手ですけどね(こちらは状況により上手くいったり行かなかったり)。
>SIさん
掲示板開設おめでとうございます。
これからもちょくちょく利用させて頂きます。
EXCELファイル(*.XLS)を直接取り込む機能は現状ではないようですね。
EXCEL で *.XLS のファイルを CSV フォーマット(*.CSV)に変換して
それを OB の「ロード」機能を使って取り込むのがいいのではないで
しょうか。
実際にデータを取り込むにはデータファイル(*.CSV)の他に制御ファイル
が必要になりますが、これは OB の「ロード」機能で生成可能です。
まずは適当なテーブルにデータを数件入力し、「ロード」機能を使って
「DB->ファイル」と「ファイル->DB」の操作を行ってみるとイメージが
つかめるかもしれません。
蛇足ですが「ロード」機能を使うには、OB が動いているマシンに
SQL*Loader(SQLLDR.EXE) がインストールされている必要があります。
うまく動かない場合は SQL*Loader がインストールされているか、また
ロード」機能のオプション設定で SQLLDR.EXE のパスが正しく設定
されているか等を確認してみましょう。
また、対象データが少なければ直接コピーペーストしちゃうってのも
手ですけどね(こちらは状況により上手くいったり行かなかったり)。
>SIさん
掲示板開設おめでとうございます。
これからもちょくちょく利用させて頂きます。
返信を投稿
OB
海老原@SI
SEGAさん、こんにちは。システムインテグレータの海老原です。
SI Object Browser をご愛用とのこと、誠にありがとうございます。
私も、SI Object Browser のスクリプト出力機能はよく利用します。
プログラムのソースをリアルタイムに出力するので、
同期・バックアップを取るには便利ですよね。
頂いたご意見は、ご要望として承り、
前向きに検討させて頂きたいと存じます。
今後とも、ご意見お待ちしております。どうぞ宜しくお願い致します。
SI Object Browser をご愛用とのこと、誠にありがとうございます。
私も、SI Object Browser のスクリプト出力機能はよく利用します。
プログラムのソースをリアルタイムに出力するので、
同期・バックアップを取るには便利ですよね。
頂いたご意見は、ご要望として承り、
前向きに検討させて頂きたいと存じます。
今後とも、ご意見お待ちしております。どうぞ宜しくお願い致します。
返信を投稿
OB
海老原@SI
MACさん、こんにちは。システムインテグレータの海老原です。
ご質問いただいた件ですが、複数のCREATE TABLE 文、
DROP TABLE 文を実行する際は
セミコロン「;」をスラッシュ「/」に
置き換えて実行していただけますでしょうか。
SI Object Browser の仕様ということになります。
大変恐れ入りますが、宜しくお願い致します。
ご質問いただいた件ですが、複数のCREATE TABLE 文、
DROP TABLE 文を実行する際は
セミコロン「;」をスラッシュ「/」に
置き換えて実行していただけますでしょうか。
SI Object Browser の仕様ということになります。
大変恐れ入りますが、宜しくお願い致します。
返信を投稿
OB
MAC
EXCELファイル(*.XLS)から読み込んだデータを
CREATE文で作成済みのテーブルに
入れるには、どうしたらよいのでしょうか?
「管理」-「インポート」や「ロード」などの項目があるのですが、
うまくできません。
どのようにしたらテーブルに反映させることができるでしょうか?
CREATE文で作成済みのテーブルに
入れるには、どうしたらよいのでしょうか?
「管理」-「インポート」や「ロード」などの項目があるのですが、
うまくできません。
どのようにしたらテーブルに反映させることができるでしょうか?
返信を投稿
OB
SEGA
SEGAと申します。
いつもObjectBrowserを愛用させて頂いております。
追加機能の要望です。
現在、PL/SQLの開発業務にて、ObjectBrowserのスクリプト出力機能を、
バックアップとして使用しております。
このスクリプト出力機能を自動化・定期実行化して欲しいと思っております。
例えば、サーバ上にObjectBrowserを常駐させておき、
毎日定刻に全オブジェクトをスクリプト出力してくれるとか、
コマンドライン起動でのスクリプト出力が出来れば、
ATを利用するという方法でもアリだと思っております。
ご検討下されば幸いです。
いつもObjectBrowserを愛用させて頂いております。
追加機能の要望です。
現在、PL/SQLの開発業務にて、ObjectBrowserのスクリプト出力機能を、
バックアップとして使用しております。
このスクリプト出力機能を自動化・定期実行化して欲しいと思っております。
例えば、サーバ上にObjectBrowserを常駐させておき、
毎日定刻に全オブジェクトをスクリプト出力してくれるとか、
コマンドライン起動でのスクリプト出力が出来れば、
ATを利用するという方法でもアリだと思っております。
ご検討下されば幸いです。
返信を投稿
OB
スクリプトの実行という機能がありますが、
下記のsqlが実行できませんでした。
sql*plusからはできたのですが、
複数文だとだめなのでしょうか?
Drop Table Scp;
CREATE TABLE Scp (
warehouse varchar2 (7) NOT NULL
);
下記のsqlが実行できませんでした。
sql*plusからはできたのですが、
複数文だとだめなのでしょうか?
Drop Table Scp;
CREATE TABLE Scp (
warehouse varchar2 (7) NOT NULL
);
返信を投稿
OB
海老原@SI
おらくるくらおさん、こんにちは。
システムインテグレータの海老原です。
SI Object Browserをご愛用いただきまして、誠にありがとうございます。
一時表に関してなのですが、大変申し訳ありませんが、
SI Object Browserは一時表のソース表示に未対応となっております。
よって CREATE GLOBAL TEMPORARY TABLE.....でテーブルを作成しても
オブジェクトリストよりオブジェクトを選択し、「ソース表示」を選択すると
CREATE TABLE...と表示されてしまいます。
現在、開発のほうでプログラムを修正しておりますので、
今しばらくお待ち頂けますでしょうか。
現時点で目で分かる違いと言えば、
「表示」メニュー>「オプション」タブ>「基本設定」
>「オブジェクト固有の詳細情報を表示する」にチェックをすると
各オブジェクトの表領域名がオブジェクトリストより見ることが出来るのですが、
一時表は特定の表領域に属さないため、オブジェクトリスト上に表領域名が出てきません。
更に、USER_ALL_TABLESを参照し、「DURATION」列が「SYS$SESSION」のなっていれば
間違いないと思います。
大変お手数をお掛けして申し訳ありませんが、
取り急ぎ、上記の方法でご確認頂けますでしょうか。
どうぞ宜しくお願い致します。
システムインテグレータの海老原です。
SI Object Browserをご愛用いただきまして、誠にありがとうございます。
一時表に関してなのですが、大変申し訳ありませんが、
SI Object Browserは一時表のソース表示に未対応となっております。
よって CREATE GLOBAL TEMPORARY TABLE.....でテーブルを作成しても
オブジェクトリストよりオブジェクトを選択し、「ソース表示」を選択すると
CREATE TABLE...と表示されてしまいます。
現在、開発のほうでプログラムを修正しておりますので、
今しばらくお待ち頂けますでしょうか。
現時点で目で分かる違いと言えば、
「表示」メニュー>「オプション」タブ>「基本設定」
>「オブジェクト固有の詳細情報を表示する」にチェックをすると
各オブジェクトの表領域名がオブジェクトリストより見ることが出来るのですが、
一時表は特定の表領域に属さないため、オブジェクトリスト上に表領域名が出てきません。
更に、USER_ALL_TABLESを参照し、「DURATION」列が「SYS$SESSION」のなっていれば
間違いないと思います。
大変お手数をお掛けして申し訳ありませんが、
取り急ぎ、上記の方法でご確認頂けますでしょうか。
どうぞ宜しくお願い致します。
返信を投稿
OB
海老原@SI
皆様、ご意見をいろいろと頂きましてありがとうございました。
大変参考になりました。
今後とも、いろいろなご意見をお待ちしております。
大変参考になりました。
今後とも、いろいろなご意見をお待ちしております。
返信を投稿
OB