memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

ちょっと笑ってしまった件(意地悪いかなぁ?)

大学で出席や成績の管理にユニパを利用している。多くの大学で採用実績がある歴史ある素晴らしい実用システムと言えると思う。

昨日、担当授業の1つが終わったので成績を整理してこのシステムにデータ入力しようとした。

1つ1つデータを手入力するUIが用意されているが、それなりに受講生がいるので面倒だし打ち間違いを考えると、成績管理しているExcelからデータを整形してCSVファイルを作ってアップロードした方がいい。

で、いつものようにExcelファイルから内容をエディタにコピペしてタブを", "に置換してCSVファイルをアップロードしたら。。。以下のエラーが出た。

com.jast.gakuen.framework.db.DbException: com.jast.gakuen.framework.db.DbException: com.ibm.db2.jcc.am.SqlDataException: DB2 SQL Error: SQLCODE=-302, SQLSTATE=22001, SQLERRMC=null, DRIVER=3.71.22

なんだろ?DB2を使っているんですね。。。僕は使ったことがないですが。 ただ(こういうエラーをユーザに見せてしまうのは)ちょっと恥ずかしい感じがしました。昔のシステムにはあるあるかもしれませんが。

想像するにアップロードしたデータをテーブルにINSERTしようとしたときにSQLDATA例外なので型違いか何かの原因で例外が発生した、という解釈になるかなと思います。

あぁ、もしかして", "に空白を入れてしまったのが問題だったかもなぁ。。。と思って取り除いたらエラーが出なくなりました。

実はこのアップロード機能はユニパが導入されたあとにボタンがあったので試しに使いながらこうじゃないか。。。と見つけた方法でしてドキュメントが手元にはなかったのでもしかすると指定する形とかCSVの作成方法についても何かしらの手順が必要なのかもしれません。そこはちょっと補足しておきます。

とはいえ、アップロードするデータは授業コード(恐らくCHAR系)、学籍番号(恐らくCHAR系)、点数(恐らく整数型)と決まっていますのでCSVデータのカンマ前後は行末はtrim等で除去するのが常識かなぁ。。。と思ったりするんです。もしかすると標準機能ではなく無理言ってカスタマイズしてもらった機能かもしれませんが。もし僕が作るならそうするな〜という情報でした。はい。

この機能をどれだけの人が使っているかはわかりませんが、とりあえず、CSVファイルを作るときには気をつけましょう、ということでした。

おしまい。