今までは、以下のデータベースだけ
テーブル編集エディターのページャ機能が有効になっていました。
・H2
・HSQLDB(PKがあるテーブルのみ)
・MySQL
・Oracle
・PostgreSQL
しかし、他のデータベース(DB2など)や、
クエリの実行結果に対してもページャ機能を使いたい!!
という要望がありましたので、実装してみました。
※海外の方からは、ページャのボタンが有効にならない。という障害報告でしたが・・・
早速使ってみたいかたは、
DBViewer Early Release 1.2.0.V20100310
をダウンロードしてください。
※最新版は、UpdateSiteではなく、SourceFourge.jpからダウンロードしてください。
http://sourceforge.jp/projects/dbviewer/releases/
DBViewer Plugin for Eclipse とは
DBViewer Plugin for Eclipse(以下DBViewer)は、Eclipse(統合開発環境)を拡張するためプラグインです。
Eclipseに「データベース・フロントエンド」機能を提供します。(JDBCドライバーを使用しています)
DBAの方よりも開発者(Developer)の方をターゲットに機能を提供しています。
※Microsoft AccessやExcelには接続できません
Eclipseに「データベース・フロントエンド」機能を提供します。(JDBCドライバーを使用しています)
DBAの方よりも開発者(Developer)の方をターゲットに機能を提供しています。
※Microsoft AccessやExcelには接続できません
2010年3月10日水曜日
2010年1月29日金曜日
SQLServerのJDBCDriverは、
DBViewerでSQLServerに接続した場合
nvarcharが、「不明な型(-9)」になるという不具合が
掲示板(SourceForge.jp)に報告されていましたが、
調べていただいた結果、SQLServerのJDBCDriverに不具合がありそうだと
いうことが分かりました。
sqljdbc.jar ・・・正常
sqljdbc2.jar・・・未確認
sqljdbc4.jar・・・異常(不明な型(-9))
となりました。
JDBCDriverが最新であれば「いい」とは限らないですね。。。
nvarcharが、「不明な型(-9)」になるという不具合が
掲示板(SourceForge.jp)に報告されていましたが、
調べていただいた結果、SQLServerのJDBCDriverに不具合がありそうだと
いうことが分かりました。
sqljdbc.jar ・・・正常
sqljdbc2.jar・・・未確認
sqljdbc4.jar・・・異常(不明な型(-9))
となりました。
JDBCDriverが最新であれば「いい」とは限らないですね。。。
2009年12月8日火曜日
SQLiteのJDBCDriverって・・・
SQLiteのJDBCDriverってちょっと変だと思います。
まだ、詳しくみてはいないのですが、
1.NULLの場合、intやcharであっても、java.sql.Types = 0 になってしまう。
NULL判定は、java.sql.Typesではなく、java.sql.ResultSet#wasNull()を使うのが
一般的なのに・・・
2.カラムの属性をDataBaseMetaDataから取得する時、
varcharの場合だけ、"varchar(256)" と取得される。
サイズ情報は別途取得しているので、本来であれば、"varchar"とだけ返してくれれば
よいのに・・・・
ともあれ、SQLite対応として、上記2つの個別実装を行っています。(未公開機能)
まだ、詳しくみてはいないのですが、
1.NULLの場合、intやcharであっても、java.sql.Types = 0 になってしまう。
NULL判定は、java.sql.Typesではなく、java.sql.ResultSet#wasNull()を使うのが
一般的なのに・・・
2.カラムの属性をDataBaseMetaDataから取得する時、
varcharの場合だけ、"varchar(256)" と取得される。
サイズ情報は別途取得しているので、本来であれば、"varchar"とだけ返してくれれば
よいのに・・・・
ともあれ、SQLite対応として、上記2つの個別実装を行っています。(未公開機能)
2008年4月23日水曜日
テーブル編集エディターのページャ実装2
Oracleのページャ実装が完了したので、他のデータベースへの対応を行った。
追加対応したのは、以下の4つですが、それぞれ方言がありました。
MySQL
SEECT * FROM :table LIMIT :offset, :limit
PostgreSQL
SEECT * FROM :table LIMIT :offset OFFSET :limit
H2
SEECT * FROM :table LIMIT :offset OFFSET :limit
※PostgreSQLと同じ
HSQLDB
SEECT * FROM :table ORDERBY :col LIMIT :offset OFFSET :limit
※HSQLDBでは、Limit句を使うには、ORDER Byによるソートが必要
Derbyには、Limit相当の機能は無いようですね。
他のDBでページャのご要望がありましたら、構文を教えていただければ
対応します^^w
追加対応したのは、以下の4つですが、それぞれ方言がありました。
MySQL
SEECT * FROM :table LIMIT :offset, :limit
PostgreSQL
SEECT * FROM :table LIMIT :offset OFFSET :limit
H2
SEECT * FROM :table LIMIT :offset OFFSET :limit
※PostgreSQLと同じ
HSQLDB
SEECT * FROM :table ORDERBY :col LIMIT :offset OFFSET :limit
※HSQLDBでは、Limit句を使うには、ORDER Byによるソートが必要
Derbyには、Limit相当の機能は無いようですね。
他のDBでページャのご要望がありましたら、構文を教えていただければ
対応します^^w
2008年4月18日金曜日
登録済みのJDBC Driverから選択できる機能
2008年4月16日水曜日
OracleのROW_NUMBERという分析関数をはじめて知りました。
今日で、DBViewerが「NullpointerExceptionのエラーダイアログを表示する」
という障害報告をもらった。
見てみると、SQLアウトラインを出すためのSQL解析でエラーになっているので、
対象のSQLをもらってみたら、
こんな構文が書けるんだ・・・・とはじめて知りました^^(DBはOracleです)
ROW_NUMBER関数については、以下のサイトで詳しく記載してありました。
http://www.shift-the-oracle.com/sql/functions/row_number-practice.html
そいういえば、昔、階層問合せ?(connect by priorを使うやつ)を使ったことを思い出しました。
まだまだ、想定していない構文があります・・・
ちなみに、上のSQLは、DBViewer SQL Formatterで整形したものです。
# 微妙・・・・w
備忘録
・後輩に、SQL Formatterの修正依頼すること
関数の追加:row_number
キーワードの追加:partition by
※この関数はOracleだけではなく、SQLServerにもあるみたい。
という障害報告をもらった。
見てみると、SQLアウトラインを出すためのSQL解析でエラーになっているので、
対象のSQLをもらってみたら、
こんな構文が書けるんだ・・・・とはじめて知りました^^(DBはOracleです)
SELECT
NO
,NAME
FROM
(
SELECT
NO
,NAME
,ROW_NUMBER() OVER(
ORDER BY
NO
) RNUM
FROM
ROWNUM_TEST
)
WHERE
RNUM BETWEEN 5 AND 10
ROW_NUMBER関数については、以下のサイトで詳しく記載してありました。
http://www.shift-the-oracle.com/sql/functions/row_number-practice.html
そいういえば、昔、階層問合せ?(connect by priorを使うやつ)を使ったことを思い出しました。
まだまだ、想定していない構文があります・・・
ちなみに、上のSQLは、DBViewer SQL Formatterで整形したものです。
# 微妙・・・・w
備忘録
・後輩に、SQL Formatterの修正依頼すること
関数の追加:row_number
キーワードの追加:partition by
※この関数はOracleだけではなく、SQLServerにもあるみたい。
2008年4月14日月曜日
テーブル編集エディターにページャを実装中
2008年4月11日金曜日
DBViewer Plugin のブログです。
こんばんわ、ZIGENです。
自身が開発しているオープンソースのEclipseプラグイン「DBViewerPlugin」
が、公開してもうすぐ3年になります。
振り返ると、、、
開発当初は、DBViewerという名前だけに、データの参照とSQLの発行ができる
ぐらいの簡単なものでしたが、今ではかなり便利なツールになりました。
2008年度は、更に、DBViewerをブラッシュアップして、
メジャーなプラグインにしていきたいと思います。
自身が開発しているオープンソースのEclipseプラグイン「DBViewerPlugin」
が、公開してもうすぐ3年になります。
振り返ると、、、
開発当初は、DBViewerという名前だけに、データの参照とSQLの発行ができる
ぐらいの簡単なものでしたが、今ではかなり便利なツールになりました。
2008年度は、更に、DBViewerをブラッシュアップして、
メジャーなプラグインにしていきたいと思います。
登録:
投稿 (Atom)


