dポイントプレゼントキャンペーン実施中!

お世話になります。

Btrieve から MS SQL Server 2008へデータの移行を行いたいと考えています。

現在、手元に xxxxxx.btr というファイル名のBtrieveのテーブルデータ(?)があります。
NetWere上(?)で動いている Btrieve 6.15 のデータです。
※当方は Btrieve、Netwareともに知識がありません。

この .btr ファイルからCSV形式(テキスト形式)でデータを出力したいのですが
どのような手順、ツールが必要になるでしょうか?
Btrieveは固定長でデータを管理(?)しているそうなので
とりあえずは1レコード=1行という形で文字化け等なしで
テキストデータへ出力できればOKです。

手元にはSQL Server2000~2008 や MS Office製品はありますが
Btrieveのデータに直接アクセスできるような専用ツール等はなく、
購入する予算もありません。。。

開発言語としてはVB6や VB.net を考えております。

ご教授よろしくお願いいたします。

A 回答 (2件)

>現在、DB移行(が可能かどうか)の第一段階目として、


>とりあえず1行(1レコード)を文字化け等なしで抽出する方法を模索しております。

私の説明が悪かったのかもしれませんが、レコードレイアウトがわからないとそれができないのです。
私のいうレコードレイアウトは何バイト目~何バイト目が商品コードとかいうものではなく
何バイト目~何バイト目が1バイト整数
何バイト目~何バイト目が2バイト整数
何バイト目~何バイト目が4バイト整数
何バイト目~何バイト目が4バイト浮動小数点
何バイト目~何バイト目が8バイト浮動小数点
何バイト目~何バイト目がテキスト

など、そこが何の型のデータなのかです。

例えば2バイトで構成されたレコードがあり、そのうちの1レコードの16進ダンプが
30 31
だった場合、

1バイト整数が2つと見るなら 48,49 ですし
2バイト整数が1つと見るなら 12592(ビッグエンディアンなら12337)
テキスト(ASCIIコード)と見るなら "01"

など何の型のデータとして見るかによって得られるデータはまったく変わります。

これがわからない状態で「文字化け等なしで抽出」といったことができると思いますか?
    • good
    • 0
この回答へのお礼

再度のご説明ありがとうございます。
ようやく理解できました。

> 何の型のデータとして見るかによって得られるデータはまったく変わります。

まさにそういうことですよね。。。
レコードレイアウト、それぞれのレコード項目の型 がないと無理そうですね。

お礼日時:2014/01/21 22:50

私がBtrieve触ってたのはMS-DOSの頃なので今のツール関係はわかりませんが、少なくともレコードレイアウトを調べない事にはどうしようもないと思います。


Btrieveの管理しているレコードはただのバイト列でどこにどんなデータが入ってるのかは使用者側で決める事でBtrieveの管理情報からはわかるのはキー情報(何バイト目から何バイトをキーとして扱うなど)くらいしかありませんから。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

> Btrieveの管理情報からはわかるのはキー情報(何バイト目から何バイトをキーとして扱うなど)

現在、DB移行(が可能かどうか)の第一段階目として、
とりあえず1行(1レコード)を文字化け等なしで抽出する方法を模索しております。
抽出ができればユーザー様と一緒にデータを確認し、この部分(xバイト目~xバイト目)は商品コード、
この部分は商品名称、というように切り分けが可能かと考えております。

ユーザー様の利用しているPCにはDBにアクセスできるBtrieveの製品版のクライアントツール(?)が
インストールされていると思われるのですが当方のPCにはインストールされていません。

手元には、ある程度のマイクロソフトの製品がありこれらや、もしくはフリーで提供されている
ツールなどを使ってデータを抽出できないかと考えております。

お礼日時:2014/01/21 10:21

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

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