AI2LiveComplete(=AppInventor+SQLte)でのハンディターミナルアプリ開発で一番難易度が高いのがマスターインポート機能
理由は2つ
1:SQLiteにCSV一括インポートのような機能が無い
唯一の方法は、Amerkashiさんがブログで紹介してるBulk Data Loadだけ。
[SQLite Bulk Data Load–Hossein Amerkashi’s Blog]
難問がいっぱい!
- bulk insertファイルを生成する専用MS-Accessプログラムが必要
- SQLiteの仕様で、1ファイルmax 500件まで
- 数万行ある商品マスターの場合、insertファイルが約40個に小分け生成
- Accessが作るs-JISファイルを、UTFに変換
- FTPサーバへアップロード
このAccessプログラム開発、猛烈に難しかった!
その上で・・・・
2:数十個のBulk Insertファイルをハンディアプリにどうインポートさせる機能か!
具体的には、
- AppInventorのwebget機能でファイルをhttpダウンロード
- そのINSERTファイルを実行
- ファイルの数だけLOOPする
ここで問題なのがWEBサーバ
負荷が高くなり過ぎ処理が間に合わない
毎回1ファイル500行 x 2・3個分、インポートエラーが起きる!
IIS webサーバ(Windows10profesional)でエラー多発
次に、フリーソフト「AN HTTP」でエラーが減ったが、まだ不安定
[AN HTTP Server Home Page]
これがエラーが起きるFOR EACHブロック

このLOOP中、5回に1秒ぐらいのポーズを入れたいが方法がわからない。
AccessVBAならmsgbox「インポートを始めます OKボタン」を表示させるとプログラムを一時停止できる。
しかし、App Inventorで「メッセージ表示」処理を加えても、裏でLOOP処理はそのまま継続実行してる!
いろいろ試しましたがインポート処理時間を遅らせる方法が見つかりません
まぁ、商品マスタはJANコードをスキャン時、商品名と荷姿を表示させるだけのもの。
受注・棚卸の基本作業に支障は起きない。
取りあえず、解決策が見つからないまま、僕のCorei5マシンをハンディアプリ用bulk insertファイルダウンロードwebサーバとして動かそう。
ちょっと疲れた
コメントを残す