BIRT Report のためのデータセットの作成 (MS SQL Server/JDBC)
この記事では、MS SQL Server 内の Northwind データベースに接続して、 Employees テーブル内の内容を表示するレポートを出力しようとしています。
事前準備なども必要ですので、このページからみた人は「BIRT による簡単なレポートの作成」の記事を順番にみていくとわかりやすいと思います。
それでは、さっそくデータソースの作成から、データセットの作成を続けて行っていきます。
BIRT Report データソースの作成
Eclipse の画面左上の Data Explorer にて、"Data Sources" を右クリックして、 "New Data Source" を選択します。
次の画面では "JDBC Data Source" を選び、データソース名として "NorthwindDataSource" としておきます。
さて、次の画面でデータベースへの接続情報を入力するのですが、初期状態では MS SQL Server への接続用の JDBC ドライバーは表示されません。
そこで "Manage Drivers" をクリックして、ドライバーを追加します。
"Manage JDBC Drivers" ウィンドウで "Add" をクリックします。
「SQL Server データベースと JDBC ドライバーの準備」 で入手した *.jar ファイルを選択します。
"OK" をクリックします。
これだけで元の画面に戻ると、JDBC Driver for SQL Server が追加されます。
データベース接続に必要な情報を入力します。
ここでは SQL 認証を利用していますので、integratedSecurity を false に設定して、ユーザー名とパスワードを入力しています。
"Test Connection" をクリックして次が表示されればデータベースとの接続ができています。
ちなみに、上記の設定で次のようなエラーが発生する場合があります。
There is an error in get connection, The TCP/IP connection to the host localhost, port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections ast the port... (参考訳: 接続中にエラーが発生しました。そのホストのポート 1433 への TCP/IP 接続は失敗しました。 "接続拒否: connect. 接続のプロパティが正しいか確認してください。SQL Server のそのインスタンスがそのホストで実行されていて、 そのポートへの接続を受付けることを確認してください...)
これは SQL Server への TCP/IP での接続が許可されていない場合に発生します。これが発生したら、 SQL Server Configuration Manager から TCP/IP を有効にして、SQL Server をリスタートします。
実際に 1433 での受付が始まったかどうかは、例えば次のように netstat を使って簡単なチェックを行うこともできます。
>netstat /ano
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:7 0.0.0.0:0 LISTENING 4340
...
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 1248
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:1433 0.0.0.0:0 LISTENING 7844
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 1528
...
私が試したときは一旦エラーがでて、TCP/IP を Enable にして、リスタートしたつもりだったのですが、また同じエラーがでました。 ポートをみると 1433 で LISTENING していなかったので、落ち着いてもう一度 SQL Server をリスタートして 1433 が LISTENING になったのをみてから 再度 Test Connection をクリックしたら接続が成功しました。
以上、接続が成功すれば OK です。続いてデータセットを作ります。
BIRT Report データセットの作成
次にレポートにデータを渡すためのデータセットを作ります。
Data Explorer の Data Sets を右クリックして、"New Data Set" を選択します。
データソースとして、上で作った NorthwindDataSource を選び、データセット名として dsetEmployees としましょう。
次の画面でクエリーを次のように書き、"Finish" をクリックします。
次に表示される "Output Column" のダイアログでは、特に何も変更しないのでそのまま "OK" をクリックします。
以上を行うと、Data Explorer の Data Set の下に、作成したデータセット "dsetEmployees" が表示されます。