移行をする事になりました。
(テーブルは3テーブル程度です。)
DB2、SQLServerのEXPORT,INPORT,BCPの様な機能が
ある事は以前はてなに質問した時に機能がある事が
わかりました。
実際にデーターの移行をすることになったのですが、どのようにEXPORTしてINPORT
するのかネットで調べてもよくわかりません。
DB2などのコマンドライン又はISQLみたいなものがあるみたいなのですが、
具体的な遣り方を教えていただきたくお願いします。
■EXPORTの方法
■INPORTの方法
的確なやり方を教えていただけた方に500-1000ポイントを
進呈いたします。
ベストな回答していただけた方には後から別に+ポイントを振り込ませて
いただきます。
(資料がなくて非常に困っています。)
宜しくお願いします。
>固定長ファイルを用います
>説明は下記参照
>(日本語訳無しの手抜きで、ごめんなさい)
http://fbclient.googlecode.com/files/DataDef.pdf の p107-p110
組み込みの場合、
isqlがインストールされてないような場合も多いと思います。
プログラムから操作するのが楽だったりしますが、
枝分かれした時代のFirebirdで開いてみたりするのが賢いかもしれません。
http://www.firebirdsql.org/en/firebird-1-0/
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: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;
カラム名や型、数や順序の違いなどがあれば、ここで吸収できると思います。
ガイドを読んだだけですが、何かの参考になれば :-)
移行日がまださきですが、ポイントを贈呈します。
またわからないことがあればお願いします。
移行日がまださきですが、ポイントを贈呈します。
2012/05/23 22:36:23またわからないことがあればお願いします。