[pgsql-jp: 29632] Re: ODBC経由でのMS-Access からPostgreSQLへのデータ移行

Chie.M gontakun @ fish.co.jp
2003年 4月 14日 (月) 15:44:56 JST


こんにちは。

> 6.テーブルのリンク一覧にテーブルが表示されていて、リンクが確立できて
>  いることを確認し、MS-Access上のテーブルを選択し、
>  右クリックメニューからエクスポートを選択。

ここの意味が良くわからないのですが、PostgreSQLのテーブルをリンクしてから
Accessのテーブルをエクスポートしているという事でしょうか?

Accessのテーブルを直接PosetgreSQLにエクスポートするのに
一旦PostgreSQLのテーブルをリンクする意味がわからないです。

私もAccessのテーブルをPostgreSQLに置き換えた事がありますが
直接エクスポートはしませんでした。
(そんな事ができるとは考えてなかっただけなんですが・・・汗)

> 9.もう一度同じことを行うと、
>  「情報データ型が有効範囲にありません。(#0)」と出力
>  されてエラーになってしまいます。
・・・
> MS-AccessとPostgreSQLの型の対応は以下のようになっていると思っているのですが、
> 認識あっていますでしょうか?よろしくご教示ください。
> オートナンバー(長整数型)  int
> テキスト型(フィールドサイズ10)  varchar(10)
> 数値型(整数型)  int2
> 数値型(倍精度浮動小数点型)  float8
> 日付/時刻型(日付(S))  date

少なくともDate型の日付の形式が違ってると思います。
PostgreSQLでは
YYYY-MM-DD・・・のような形式になりますが
AccessではYYYY/MM/DDのような形になってるのではないでしょうか。
そこがうまく変換されるものか微妙な気がします。
テストしてないのでわかりませんが。。。

エクスポートをするよりも、PostgreSQLからリンクしたテーブルに
正しい形に修正したデータで追加クエリーをかけた方が楽かもしれません。
ご質問の参考になってなくてすみません。。

ちなみに、私の場合は、Accessと同じようなテーブルをPostgreSQLに
作成する為に、DAO使ってテーブルオブジェクトを参照し、
CREATE TABLE文をテキストに吐き出し、CHECK制約や型や権限などを、
追加修正してからPostgreSQLへ流すという作業をしました。

----------------------------
Chie.M <gontakun @ fish.co.jp>




pgsql-jp メーリングリストの案内