アフィリエイト広告を利用しています
G-QVESCNWRVH

2025年01月28日

ちょっと(?)ひどいよね

●CSVからAS400DBを生成

CSVファイルに入力されているデータから、AS400のDBを作る
今は、そんな任務を遂行中です(笑)
DBファイルを作るには、最低限必要な事があります
@DBファイルの名前
Aレコード様式
A−1:カラム名(フィールド名)
A−2:データ型
A−3:桁数
A−4:数値の場合は、小数部桁数
A−5:カラム論理名(フィールド記述)
Bキー情報(これが無ければ、たんなる入物にしかならず、ランダムアクセスができません_| ̄|○)
●分かっているのは

A−5だけ (笑)
これって、小麦粉と水だけでホットケーキを作れって言われているみたいな(笑)
どーやって作るねん・・・

ただ、CSVファイルなので、入力値は入手出来ています
それから、ある程度は推測できます

でもね・・・・
●格納方法

《日付》
日付って、西暦年4桁で格納されてはいるのですが
あるカラムは、 20250101, 20250102, 20250103 の様に8桁の数値で入力されていたり
別のカラムは、 2025/01/01, 2025/01/02, 2025/01/03 の様に / できちんと区切られていたり
《論理値》
論理値は、真か偽かの2値を表すためのものです
これも、何種類かの格納方法があって、悩まされています
格納方法@ 0, -1  恐らく、0が偽、 -1が真でしょう
格納方法A 0, <空白>  これは悲しくて涙がでます
格納方法B TRUE, FALSE これは分かりやすいですが、めんどくさいです
《数値》
CSVファイルは、文字列オンリーです
ただ、 3.5 とか 11,25 などの文字が入力されていて、これは数値として認識させます
そして、桁数を認識するためには、全データを調べて、桁数と小数部桁数を認識します

でも、15桁で小数部13桁 (整数部は2桁となります)というのがありました
殆どは、99.99という書式で表せます
なんで、こんな小数部が長いデータが有るんだろう? と調べてみたら
●ちょっと(じゃないけど)ひどい(笑)

26.8399999999999 ですって・・・これを見つけた時、さすがに
CSVを吐き出す前のデータベースのデータ型と桁数の情報が無いか確認してほしいと悲鳴をあげました
結局、得られたのは・・・調べても調べきれない(かも知れなない)情報でしたがっくり

なので、26.8399999999999 が 26.84で有る事と、なので4桁(2桁)と認識する
これが必要みたいです
でなければ、小数部桁数の長〜〜〜いカラムについては、格納されているデータを確認して
正しい桁数を認識しなければなりません

ちなみに、データ型や桁数は、CSVファイルを舐めて、自動的に認識させるようマクロを組みました
でも、まさか、これほど多様性に富んだデータベースだとは思いもよらず(笑)
明日から、また楽しめそうです



人気ブログランキング
人気ブログランキング
posted by Y.Taki@AS400 at 00:57| Comment(0) | TrackBack(0) | ExcelVBA
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント: 必須項目

この記事へのトラックバックURL
https://fanblogs.jp/tb/12839974

この記事へのトラックバック
ファン
検索
<< 2025年02月 >>
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28  
最新記事
写真ギャラリー
最新コメント
タグクラウド
カテゴリーアーカイブ
プロフィール
Y.Taki@AS400さんの画像
Y.Taki@AS400
IBM AS/400で稼働するシステムの開発・追加を担当して30年以上になります。使えば使うほどこの AS/400 が好きになりました。 こんなSEがいろいろな視点から様々な業務などについて語ります。
プロフィール