【ai】bulk import errorで商品マスタが1000行足りない!

いよいよ開発も大詰め

出来たばかり、ちょっと不安定なハンディーターミナルアプリ!
誰か実践で使ってくれるボランティア営業マン(=IT人柱)はいないかな

と探し始めた当日、ハンディーターミナルが1台壊れました

これは電脳神のお告げかも?

まだテストで200行以上入力したことの無い出来たてホヤホヤのハンディーターミナルアプリを急遽実践投入することに!

この2か月、情報源は英語でやり取りされるApp Inventorフォーラムだけ。

分からないことは下手な英語で質問しながら作った僕のハンディーターミナルアプリが、いよいよ現場デビューです

ちょっと感動し、すごく不安

ハンディーターミナルアプリをインストールした僕のスマホを営業マンに手渡した私。

僕のアプリ君、終日動いてくれるかな?
昼過ぎに、「動かないぞ」と電話が来たらどうしよう・・・

などと心配してたら、なんと数分後「このアプリ変ですよ」と言われ愕然

クレーム来るの、早すぎないか!
質問は、「商品検索しても”日の出 料理酒400ml”が出てこない」

そんなハズは無い!
商品マスターはインポート出来てるはず?

でも、検索すると確かに「料理酒400ml」が出ない!?

あれ?
どうして?

と言うか総レコード数を比較すると商品マスタが1000レコード(=bulk importファイル2個分)足りない!

bulk importファイル生成MS-Accessプログラムにバグ!?

[SQLite Bulk Data Load–Hossein Amerkashi’s Blog]

Bulk insert into SQLite database has a limit of 500 rows. If you intend to insert over 500 rows, you’ll have to break your insert statements.

仕様で1ファイル最大500レコードのbulk import。
これをLOOPで30回以上繰返す、ちょっと強引で不安定なインポート機能

負荷が原因で2ファイル分エラーになったのかな?

ならば試し

「日の出 料理酒」が含まれるbulk importファイルだけをインポートさせてみると・・・

あれ、1ファイルだけなのにエラー

すると原因は、2つのファイルだけSQL文が壊れてるの?

「日の出 料理酒」を含む500行のファイルを、100行単位で実行。
エラーが発生した部分を50行単位で実行。
エラーが発生した部分を10行単位で実行。

これを繰り返し、ようやくSQL文を壊してるのが351行目だと特定出来ました

SQL文が壊れる原因、分かります?
App Inventor開発:安価な中華タブレット用のハンディーターミナルアプリを作るぞ!:bulk insert error
犯人は、「明星 麺’S倶楽部R50」の’(アポストロフィー)記号でした!

bulk importファイル自動生成VBAプログラムを下記のように書直し再インポート。

商品マスターのレコード数と僕のアプリのレコード数が一致しました

修正前:StrConv(rs![商品名],vbNarrow)

修正後:Replace(“‘”,”’”,StrConv(rs![商品名],vbNarrow))

これで、実戦投入後見つかった1つ目の不具合は無事解決

まぁ、とにかくApp InventorもSQLiteもし、まだまだ勉強不足!

人間、死ぬまで勉強、勉強、勉強、勉強ですね!

ちなみに、ハンディーターミナルアプリのデビューは何の問題もなくあっけなく終わりました。
心配してた200行以上の受注も問題無し

売上伝票も無事に出て、驚くほどスムースなデビューでした 。

唯一クレームが出たのが、

カメラを使ったバーコードスキャン。
光を反射する素材と湾曲した商品のバーコードはスキャン出来ない。
その上でバッテリーがガンガン減ってしまう!
1日使うと、バッテリー残量が15%以下まで低下しました。

やっぱハンディーターミナルにはレーザースキャナーが必要みたい・・・・
まぁ、セットで買ってもFileMakerGO+iPhone6 plusよりずっと安い!

さて、本格導入に向け、いよいよZenfone(ゼンフォン)5を試しに1台買ってこよう
それとも5.5インチのGALAXYノートの中古にしようかな?

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA