ドリンクバーゲン会場

BIRTのその後2008年09月03日 10時18分26秒

前回BIRTでエラーが出るところで止まっていたのですが、いまだ原因の特定には至っていません。

いろいろなサイトを見てみたり、検索してみたりしているのですが、情報がほとんどないので何をしたらよいのかわからない状況です。

検索をかけていたら、自分のページが結構上のほうで表示されているのでちょっとびっくりしました。

自分の情報が上にくるということはそれだけBIRTに関する情報が少ないことの表れかなあなんて思っています。

しかし、どうすればさきにすすめるのやら・・・・・!

ADOでエラー2008年09月09日 09時15分50秒

先日より、教務システムのサポートプログラムの変更作業をしています。
内容は定期試験の内容を表示する際、生徒の平均点、学級平均、クラスでの順位などの表示を追加するための修正です。

もともとこれらのデータは、それぞれ専用のテーブルに集計時に登録されるようになっており、今回は各テーブルから情報を抽出するだけのかんたんなものでした。
まず、それぞれの項目のテキストボックスを追加し、ADOでテーブルを呼び出して項目をセットするだけなので、大したことがないはずなのですが、なぜかエラーが起こってしまいました。

抽出の際、学籍番号、クラス番号、試験コードの3つを条件にしているのですが、試しに抽出する条件を1つにすると、エラーは起こらずデータを抽出しています。
抽出用のデータもきちんと入っているので、何が原因かよくわかりません。

最近何をやってもトラブルになってしまうなあと思いながら、ADOでの接続を中断し、DAOで接続を行ってみました。

DAOで抽出したら正常に動いたので、とりあえずこれで進めているのですが、あまり釈然としないので、落ち着いたら原因を調べてみようと思います。

BIRTで泥沼2008年09月16日 10時26分13秒

BIRTのランタイムについては、ずっとエラーの原因が分からず、対応ができていません。

ネットや書籍などでもBIRTがらみの内容を探してみたのですが、日本語で書かれている情報が少なく、WEBや書籍で探して見つかっても同じような情報のみでなかなか解決の糸口がみつかりません。

ランタイムのバージョンも古く、ほとんど2.0.1あたりのバージョンで説明されています。

バージョンの違いで大きく設定などが変わっていることはないと思うのですが、ランタイムのバージョンが2.3.0になっているので、多少気になっています。

まず、「birt.war」をTomcatのwebappsにコピーし、「http://localhost:8080/birt/」でBIRTの画面は表示されていて、バージョン情報なども出ているので、ここまでは問題ないと思いますが、「WiewExample」をクリックするとエラーになります。
「初期化中にエラーが発生しました。」と出ているのですが、そこから先にはまったく進めません。

BIRTのランタイムでは、3つのファイルをBIRT内にコピーするように書かれています。
「itext-1.3.1.jar」は「birt\plugins\org.eclipse.birt.report.engine.emitter.pdf\lib」
「prototype.js」は「birt\ajax\lib」
JDBCドライバーは「birt\plugins\org.eclipse.birt.report.data.oda.jdbc\drivers」
フォルダに関しては、展開されたBIRTランタイム上には上記のフォルダーは全く存在せず、すべてフォルダを作成し、それぞれのファイルをコピーしました。

バージョンによって内容が違っているとかでなければ問題ないはずなんですが、全然動きません。

英語ができればもう少し手がかりがつかめるのかもしれませんが・・・
こうなったら何が何でも動かしてみたいと思います。

Crystal Reportsも試してみる2008年09月17日 14時34分21秒

iReport、BIRTと帳票作成のために試してみましたが、どれもなかなかうまくいきません。
BIRTなどの利用も元々はEclipseを使い、Javaでシステムを開発することを前提としていましたが、職場にはVisualStudioがあり現在は全く使われていない状況なので、BIRTが頓挫している今VisualStudioを試してみることにしました。

VisualStudioには、CrystalReportsという帳票作成ツールがあり、Web開発でも使えるようなので、使えるかどうか試していきたいと思います。
そうなると、開発言語も変わってくるわけで、試しにVisualStudioを起動して確認してみると、Web開発では「C#」と「VisualBasic」が選択できる状態でした。
「C#」に関しては全く知識がなく、「.NET」自体も分かっていませんので、言語はとりあえず馴染みのあるVisualBasicで考えています。

BIRTなどと違うことは、情報がBIRTよりも多く、書籍などもあるようなので、「.NET」での開発も考える必要が出てくるかもしれません。

もうそろそろ開発への方向性を固めないといけないので、CrystalReportsを試して結論を出したいと思います。

Crystal Reportsを使ってみました。2008年09月20日 11時08分48秒

VisualStudio2008を使って実際にCrystalReportsを試してみました。
VisualStudio自体を全く使ったことがなく、参考書のたぐいも全く手元にない中で、どこまでできるのか不安なのですが、ある程度使えるものであるという確証を持たないと、参考書などの購入ができないのでなんとか確認してみたいと思っています。

VisualStudioを立ち上げ、「新しいWebサイト」を選ぶと、テンプレートが選択できるようになっていました。
そこで、「ASP.NET Crystal Reports Web サイト」を選択しました。
作成時に言語を指定するところがあり、「Visual Basic」を選択しています。

作成すると、「Crystal Reports ギャラリ」の画面が開き、どのようなレポートを作成するのか聞いてきました。
新規作成には、「レポートウィザードを使用」、「空のレポート」、「既存レポートの使用」の3つがあり、今回は「空のレポート」を選択しました。

その下には、「エキスパートの選択」とあり、ウィザードを使用するときには選択できるようになっています。「標準」、「クロスタブ」、「宛名ラベル」の3つが選択できるようになっていますが、今回のように「空のレポート」の際には選択できないようになっています。

立ち上がってきた画面はBIRTなどと同じようにヘッダやフッタ、詳細の画面がでて、同じような雰囲気です。

今回は、Web公開までの手間がどの程度かかるのかを知りたいので、とりあえず、データベースからデータを取り出し、それを表示したレポートをさくせいしてWebで公開できるかどうか試してみます。

まず、データベースを登録する必要があります。
「フィールドエクスプローラ」画面の「データベースフィールド」を右クリックし、「データベースエキスパート」を選択します。
画面内に「接続の新規作成」というのがあり、その中に「ODBC]があったので、その中の「新しい接続先の作成」というのを今回は選んでみました。

他にも「OLE DB」とか、「ADO.NET」とかあるのですが、よくわかりません。
登録されているデータソースからテスト用のデータベースを選択し、接続用のIDとパスワードを登録することで、データベースをまず登録します。
データベースの登録ができたら、次にそのデータベースの中から必要なテーブルを選択していきます。

今回はチェックだけなので、適当にひとつテーブルを選択しました。
登録が完了すると、データベースフィールドに登録したテーブルが出てきます。
テーブルのを開くと項目の一覧が出てくるので、レポート画面にドラッグすると、その項目がレポートに登録されました。

レポート画面にはプレビューの機能があるので、早速プレビューしてみると、ちゃんとデータを表示しています。

レポートの上部には、移動ぼたんがあり、ほかのデータにも移動ができています。
基本的な使い方は、BIRTと同じような形で行けそうなかんじですね!

あとはこのレポートをWebから見ることができるかどうかです。
ネットで方法を調べてみると、Webの画面に張り付けることができるようです。

Webフォームを開くと、フォーム上に「Crystal ReportViewer」のコントロールが配置されていました。
viewerのプロパティで「ReportSourceID」を先ほど作成したレポートファイルに変更します。
変更すると、フォーム画面が作成したレポートの画面に変わってしまいました。

この時点で動作チェックができるのかどうかよくわからなかったのですが、試しに「デバッグ」を実行してみました。
ブラウザの設定でデバッグを許可しない設定になっていたため、警告がでてしまったので、インターネットオプションの設定を変更し改めてデバッグを実行してみると、インターネットエクスプローラーが起動し、データを無事に表示していました。

VisualStudioでの動作は問題ないようなので、Webサーバーに配置し、実行してみようと思います。

JAVAみたいな、「war」ファイルを作ったりできるのかと思ってあちこち見ているのですが、その手のものが見当たらずどうやってWebサーバーに登録するのかわからなかったのですが、「ソリューションエクスプローラー」で「Webサイトの発行」というのを見つけたので、実行してみることにしました。
Webサイトを選択し、実行すると、正常に発行されたようです。

早速作成したサイトを開いてみると、詳細な情報が必要だということで、データベースに接続するための、IDとパスワードを入力する画面が表示されてしまいました。

VisualStudioでは登録したのですが、その情報は引き継がないようで、どこかで設定する必要があるようです。
とりあえず、画面上で入力してログオンすると、作成したレポートが表示されています。

画面の上部には移動ボタンや検索用の項目もあり、件数が多い場合には、すごく便利です。

今回CrystalReportsでは、全くコーディングせずに印刷まで行うことができてしまいました。

データベース接続用のIDとパスワードの入力を求めてくる問題が残ってはいますが、かなり簡単にできたので、Javaでの開発と思っていましたが、.NETでの開発を真剣に考えてみたいと思います。