今度、Inter Base6のデーターベースのデーターの

移行をする事になりました。
(テーブルは3テーブル程度です。)

DB2、SQLServerのEXPORT,INPORT,BCPの様な機能が
ある事は以前はてなに質問した時に機能がある事が
わかりました。

実際にデーターの移行をすることになったのですが、どのようにEXPORTしてINPORT
するのかネットで調べてもよくわかりません。
DB2などのコマンドライン又はISQLみたいなものがあるみたいなのですが、
具体的な遣り方を教えていただきたくお願いします。


■EXPORTの方法




■INPORTの方法
的確なやり方を教えていただけた方に500-1000ポイントを
進呈いたします。
ベストな回答していただけた方には後から別に+ポイントを振り込ませて
いただきます。
(資料がなくて非常に困っています。)
宜しくお願いします。


>固定長ファイルを用います
>説明は下記参照
>(日本語訳無しの手抜きで、ごめんなさい)

http://fbclient.googlecode.com/files/DataDef.pdf の p107-p110

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/04/28 19:00:16
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:windofjuly No.1

回答回数2625ベストアンサー獲得回数1149

ポイント250pt

組み込みの場合、
isqlがインストールされてないような場合も多いと思います。

プログラムから操作するのが楽だったりしますが、
枝分かれした時代のFirebirdで開いてみたりするのが賢いかもしれません。
http://www.firebirdsql.org/en/firebird-1-0/

id:pikacyuu

移行日がまださきですが、ポイントを贈呈します。
またわからないことがあればお願いします。

2012/05/23 22:36:23
id:cx20 No.2

回答回数607ベストアンサー獲得回数108

ポイント250pt

Interbase は使ったことは無いですが、Windows で Access が利用できる環境であれば、
Access で新旧テーブルのリンクテーブル(ODBC接続)を作成して INSERT 文を発行するのが簡単な気がします。

INSERT INTO NEW_TABLE
SELECT * FROM OLD_TABLE;

<参考情報>
■ ACCESSでリンクテーブルへINSERTするのは? - その他(プログラミング) - 教えて!goo
http://oshiete.goo.ne.jp/qa/40494.html
■ Connecting to InterBase using an Active Server Page (ASP)
http://edn.embarcadero.com/article/27152
→ InterBase6 標準の ODBC ドライバを用いたデータソースの作成方法が画面付きで紹介されています。
■ Interbase Connection String Samples - ConnectionStrings.com
http://www.connectionstrings.com/interbase
→ ODBC 接続文字列のサンプル集です。InterBase6 標準の ODBC ドライバ以外を用いる場合に参考になるかと思います。

id:pikacyuu

移行日がまださきですが、ポイントを贈呈します。
またわからないことがあればお願いします。

2012/05/23 22:36:51
id:try0626 No.3

回答回数43ベストアンサー獲得回数1

ポイント250pt

容量を得ない質問ですいません
構造といっても難しいものでなく、フィールド名とデータ型が残っているようにしたい
基のエクセルのシートの内容が代わるので、リンク?させていればいいんでしょうが
現状は今回(一回)だけで良いんですが・・・
再度新たにテーブルを作成してフィールド名とか登録すれば済むことですが

id:pikacyuu

移行日がまださきですが、ポイントを贈呈します。
またわからないことがあればお願いします。

2012/05/23 22:37:00
id:a-kuma3 No.4

回答回数4973ベストアンサー獲得回数2154

ポイント250pt

id:cx20 さんの回答がズバリだと思いますが、テーブルがデカかったりすると Access の機嫌が悪くなることがあるかもしれないので、質問にリンクがある PDF をざっと読んでみました。


まず、isql コマンドについて。
Data Definition Guide には、Operations Guide を見ろって書いてあります。

■Operations Guide
http://www.ic.unicamp.br/~celio/livrobd/firebird/OpGuide.pdf

isql については、Chapter 9 Interactive Query (P187-) に記載があります。
GUI なんですね。
画面の雰囲気だけ分かれば、特に操作について読む必要は無さそうです。



で、Data Definition Guide の Using the EXTERNAL FILE option

テーブルを export するんじゃなくて、テキストファイルをテーブルに見せることができるんですね。
テキストファイルを、エディタなどで開いたときに、それっぽく見せるために、改行に当たるカラムが定義されてる。


ガイドのページ順とは逆になりますが、P110 の Exporting InterBase tables to an external file から。
まず、外部ファイルに実体を持つテーブルを create します。SQL は import の章に書いてあります。

CREATE TABLE EXT_TBL EXTERNAL FILE 'file.txt'
    (FNAME CHAR(10),
    LNAME CHAR(20),
    HDATE CHAR(8),
    NEWLINE CHAR(1));
COMMIT;

カラム名と型は、元のテーブルと同じにしておけば良いと思います。
最後のカラム NEWLINE は、テキストファイルをそれっぽく見せるための改行コードが入るカラムです。
データを引っ越しするためだけなら、外部ファイルの中身を覗くことは無いと思うので要らないでしょう。
で、外部ファイルへ移したいテーブルへデータを insert します。

INSERT INTO EXT_TBL SELECT * FROM PEOPLE;
COMMIT;

外部ファイルを、新しい環境に持っていきます。


次に、P109 の Importing external files to InterBase tables。

同様に、データを移したい環境でも外部ファイルを実体に持つテーブルを create します。
で、外部ファイルから移したいテーブルへデータを insert します。

INSERT INTO PEOPLE SELECT * FROM EXT_TBL;
COMMIT;

カラム名や型、数や順序の違いなどがあれば、ここで吸収できると思います。


ガイドを読んだだけですが、何かの参考になれば :-)

id:pikacyuu

移行日がまださきですが、ポイントを贈呈します。
またわからないことがあればお願いします。

2012/05/23 22:37:11

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません