2010年12月15日水曜日

オープンソースとしてソースコードを公開

Version1.0.0.8 の公開を開始しました。
それに伴い(?)オープンソースとしてソースコードを公開しました。

なかなかアプリのアップデートができない状況で、新しい風を吹き込めたらと思っています。
それでは詳しくは公式サイトでご確認ください。

2010年8月19日木曜日

開発ブログ移転

開発ブログをアメブロ(http://ameblo.jp/sqlbrowser/)から、Google のBlogger(http://sqlbrowser.blogspot.com/)に移転しました。

アメブロに大きな不満があった訳ではなく、公式サイトを Google サイトで運営していますので、管理の都合での移転です。

移転は地道にコピー&ペーストしました(x_x)
ブログエディタの挙動がそれぞれ異なり結構な手間でした。

プログラムソースを公開するのは 半角スペースを認識してくれる Blogger の方が使い勝手よい感じです。が、2行以上ある文章をペーストすると改行が何故か2倍になるという謎の仕様が。。
※例えば「あ<改行>い」は「あ<改行><改行>い」となってしまう。。

直接ブログエディタでコピー&ペーストしてもそうなってしまうので、若干イラッとすることもありますが、当面は Blogger を利用させて頂きます。。

2010年8月10日火曜日

SQL Browser 1.0.0.7 公開

SQL Browser 1.0.0.7 を公開申請中です。

申請が完了しましたら公式ページのお知らせでお伝えします。

<追記>8月17日に申請が完了し、正式リリースされました。

さて今回のリリースは、細かいバグフィックスと、以下の機能追加&強化です。
・グリッドのパフォーマンス向上
・Ctrl+Tabキーによるタブページの切り替え
・文字エンコーディングを指定してのファイルを開き直し















グリッドのパフォーマンスですが、特にデータの編集が大幅に改善していて、列の項目が数十個あるようなマンモステーブルの編集がかなり高速化されます。
※内部的な条件があるため、絶対ではありませんが・・・。

実際に自分で使っていて、編集のコミット待ちになることが結構ありました。
修正はそれなりに大変ではありましたが、やってよかったという出来になっていると思います(^_^)b


文字エンコーディングはファイルの開き直しのみ対応しました。
ファイルを開く際にエンコーディングの自動判別を行なっていますが、自動判別が上手くいかなかったときの救済処置です。

メニューの「ファイル>エンコードの種類」でエンコーディングの指定が可能です。

本当はファイルを開く時点でエンコーディングが選べるようにしたかったのですが、.NET 標準のファイルを開くダイアログ(FileOpenDialog)は拡張性に乏しく、ダイアログにカスタマイズ項目を追加することが困難です。
※手間が自作とほとんど変わらない。

また、ファイルを開くダイアログの後、エンコーディングダイアログを出すか検討しましたが、自動判別がOKの場合、二度手間になり使い勝手が悪いため見送りました。

よさそうな手が見つかったら、機能拡張しますのでそれまでは、上記操作でお願いしますm(_ _)m

2010年8月5日木曜日

外部コンポーネント その3

外部コンポーネント その1( http://ameblo.jp/sqlbrowser/entry-10535864608.html  )のエントリでご紹介したDockPanel Suite ですが、修正したソースに誤りがありました。すみませんm(_ _)m
元記事を修正しましたので参照してください。

お詫びがてら、おまけで左右にパネルが存在するとき、アイコンを回転させるソースを追記しました。

2010年8月3日火曜日

状況のご報告

最近ブログを更新していませんでしたので、状況のご報告を。。

・・と、改まって書く内容もないのですが、開発が止まっている訳ではありません。

利用者の方も増えつつあり、今のうちにソースコードのリファクタリングや各種処理速度の向上、例外処理の強化など裏方作業をメインで進めています。

私も本業でバリバリ使っていますので、色々改良案もでてきました。
時期は未定ですが、大きなバージョンUPを行なう予定です。

2010年7月12日月曜日

次回リリースについて

次回は SQL Browser と SqlFormatterライブラリとそのサンプルの3つを同時リリースします。

現在は Vector さんに申請中です。

なお、今回は重要なお知らせがあります。
ソフトウェアのみをご利用の方は特に意識される必要はありません。
ライブラリを利用されている方は名前空間(namespace)が変更となっておりますのでご注意ください。

詳しくは公式ページのお知らせをご覧ください。

    http://sites.google.com/site/sqlbrowser/

お手数ですが宜しくお願いしますm(_ _)m

2010年7月5日月曜日

括弧の強調表示など

さて、次回のリリースに向けて、追加機能のご紹介。


















1つが、対応する括弧の強調表示です。
なが~いSQLになると、どうしても括弧の数が増えていきます。
そのSQLが良いかどうかはさておき、前に作ったSQLでJOINを多用した結果、括弧が数十個並んだことがあります。。

個人的にはマスト機能ですので、今回のリリースで実装しました。

もう1つが、レコード操作バーです。
次のレコードへ移動や、最終レコードへ移動という機能です。
こちらは個人的にはあまり使わない機能ではありますが、実装されているソフトが多いので、必要な機能なんだろうなぁと追加してみました。

あ、それと今までセルの編集はF2キーまたはキー入力が開始されたタイミングで、入力可能になっていますが、ボタンで「編集の開始」と「編集のキャンセル」が行なえるようにしました。
ちなみに編集のキャンセルはEscキーです。
Excelなどと同じ操作ですので、特にボタンがなくてもよさそうですが、あるに越したことはないかと思い、追加しました。

と、最近は小さな機能UPとなっていますが、しばらくはこんな感じでリリースを行なっていこうと思っています。

利用しているコンポーネント その2

久しぶりに利用している外部コンポーネントのご紹介。

クエリーを入力するテキストエディタ部分に、Azuki テキストエディタエンジン(http://azuki.sourceforge.jp/ )を利用させてもらっています。

いくつかエディタエンジンの候補があったのですが、最終的に Azuki を選択しました。
理由は「 .NET Framework 2.0で開発されいる」「オープンソースであり改造可能」であること、何より作者様が鋭意開発を進めていて、機能強化が期待できるからです。

要望事項にも柔軟に応じて頂けるようで、素晴らしい作者様です。

SQL Browser も機能強化を進めていきますが、エディタエンジンが良くなるとこのソフトウェアも良くなったように思えて一石二鳥!なんて思っています(^_^;)
※なお、作者様の掲示板にとぼけたメッセージを書き込んでいる私を見つけてもスルー願います。。


ちなみに「Azuki エディタ」で検索すると、かなりヒットしますので、使われている方も多いのではないかと思います。

2010年7月1日木曜日

SQL Browser 1.0.0.4 公開

毎度お馴染み、怒涛のリリースでございます(x_x)

今回は、前回のブログに書いた、クエリーファイルの一括実行機能と、パラメータマーカの自動判別です。

パラメータマーカの指定が泥臭く、ダサい感じだったので、可能な限り自動判別を行なっています。

例によってすべての環境で動作確認を行なっているわけではありませんが、GetSchema メソッドによるスキーマ メタデータの取得により、パラメータを取得していますので、大抵は大丈夫じゃないかと思います。

※以下で確認済。
・SqlClient Data Provider
・Oracle Data Provider for .NET
・OracleClient Data Provider
・IBM DB2 for i5/OS .NET Provider
・Npgsql Data Provider
・Odbc Data Provider
・OleDb Data Provider

駄目だった場合は、今まで通り手動設定でお願いします。。

クエリーの一括実行

クエリーの一括実行機能を追加しました。

複数のクエリーファイルを一括して実行する機能です。
DB環境を複写時に、クエリーファイルを用意しておいて一気に実行するというのはよくある作業だと思います。













次回のリリースで使えるようになります。

2010年6月30日水曜日

ダウンロード数

ソフトウェア&ライブラリを公開して半月、Vectorさんからダウンロード数のお知らせがありました。

数字は公表するほどでもなく(予想通りですが)、公式サイトのダウンロード数と合算すると、2桁オーバーしたところです。

ところで、Vectorさんはダウンロード数はメールでのみのお知らせなんですが、何ででしょうね?

ランキングをやっているので、ダウンロード件数は把握してるでしょうし、一覧で見れるようにするのは容易いと思うのですが。。
ダウンロード数はフリーウェアである以上、モチベーション維持の1つの要素ですので、とりあえず地道に手集計します。

目指せ、3桁オーバー(^o^)/

2010年6月29日火曜日

入力候補機能を追加しました

入力候補機能を表示する機能を追加し、アップしました(Version 1.0.0.3)。

やはり、あるとないとじゃ大違いで、テーブル名(もしくは別名)とピリオドを入力するだけで、さくさくカラム名の候補が表示されますので、かなり使いやすくなったと思います。

SQL Browser の公開

SQL Browser ですが無事に Vector さんの申請が通りました。

以下のURLでダウンロードできますので、是非お試しください。

<SQL Browser>
    http://www.vector.co.jp/soft/dl/winnt/business/se484411.html

2010年6月25日金曜日

グリッドへの貼り付け

グリッドへの行の貼り付け機能、難産でしたが本日完成しました。

これでエクセルからのコピペ、他の行のコピペなどができるようになります(^_^)b

で、何が難しかったかというと、コピー対象にタブ文字や改行が含まれる場合です。

グリッドには標準機能として、クリップボードへのコピーがあるのですが、例えば3項目の場合は、「項目1(タブ文字)項目2(タブ文字)項目3」とコピーされます。

貼り付けは機能として提供されていないので、タブ文字区切りで独自に分解してグリッドに貼り付ける処理を組み込む必要があります。

上記したとおり、項目にタブ文字が含まれる場合、「項目1(タブ文字)項目2(タブ文字)項目3(タブ文字)項目4」となってしまう訳です。

グリッド処理を行なっていて、タブ文字を上手く扱えてないソフトが結構あります。

※というか、手持ちの類似ソフトでは Obje○t Browser 位しかまともに扱えていない模様

当初は本ソフトも諦め&妥協しそうになったのですが、売りのひとつになるかなぁと考え直して頑張ってみました。

最近リリースしまくっているため、この機能だけでリリースするのは控えますが、今すぐにでも必要だぜ!という人はコメントなど頂ければ、、と思います。

2010年6月24日木曜日

SQL Browser 1.0.0.2 公開

先日の宣言どおり、SQL Browser 1.0.0.2 公開しました。

と、毎日機能追加やら修正やらしているので、上げようと思えば毎日上げられてしまうのですが、きりがない(^_^;)

せっかく使ってくれようとしている人にも迷惑なので、大きな不具合が出ない限りは、公開控えるようにしようかなと思います。
Vectorさんにも、申請依頼の修正をしまくってますが、大丈夫なんだろうか??

2010年6月23日水曜日

SQL Browser 1.0.0.1 公開

SQL Browser 1.0.0.1 公開しました。

・・って、1.0.0.0 を公開した翌日なんですが、まぁ公開当初だし大目にみてください。
今後もバシバシ更新していきます、たぶん。。

2010年6月22日火曜日

XMLファイルをリソースとして使用する方法

標準的なリソース(Resources.resx など)は文字列、イメージなどを含めることができますが、ちょっと複雑な情報を取り扱うには何かと不便です。

例えば、1つのキーに複数の情報を付加したい場合、文字列リソースを","(カンマ)区切りにするなど、工夫が必要になります(当然、情報にカンマが含まれていてはならない)。
と、いう訳で XMLファイルをリソースとして利用する方法をご照会します。

<例>
  プロジェクト名:SampleProject
  XMLファイル:Hoge.xml (プロジェクトの直下)

<設定>
  Hoge.xml のプロパティを表示します。
  ビルドアクションに「埋め込まれたリソース」を選択します。

<ソース>
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();

using (System.IO.Stream xmlStream = assembly.GetManifestResourceStream("SampleProject.Hoge.xml"))
{
    if (xmlStream != null)
    {
        System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
        doc.Load(xmlStream);
        // ~XMLファイル操作~
        xmlStream.Close();
    }
}

以上で、アセンブリに XMLファイルをリソースとして埋め込むことができます。

SQL Browser 公開のお知らせ

SQL Browser の公開を開始しました。

Vectorさんには申請中ですが、公式ページ( http://sites.google.com/site/sqlbrowser/  )のほうで、一足早くダウンロード可能です。

いっぱい使ってもらってより良いソフトウェアにしていきたいと思っていますので、是非ご利用願いますm(_ _)m

2010年6月18日金曜日

数値の取り扱い

現在、ほぼ最終段階(公開予定 7月1日)まで開発が進んでいます。

・・が、数値の取り扱いに頭を悩ましています。

例えば Oracle で NUMBER(10, 4) で定義されているフィールドがあるとします。
結果画面でデータの入力が可能になっていますが、そこで "123456.12345" と小数点の桁あふれが発生する数値を入力します。

手持ちの Oracle.DataAccess だと、自動で四捨五入が行なわれ、結果としては "123456.1235" となります。
値の設定は System.Data.Common.DbParameter 任せにしているため、小数点の桁数の管理など行なっていないがために発生している問題です。

また、例えば NUMBER(38, 0) で定義されているフィールドがあるとします。
このように桁が大きい場合、OCI-22053 が発生し、データ表示が行なえません。
桁の大きい数値を取り扱うとき、は OracleDataReaderクラスの、GetOracleDecimal などを利用しないといけないようです。

と、問題点をつらつらと書きましたが、プロバイダ依存の要素が強く、且つ、すべてのプロバイダでテストすることは不可能なため、現在は制限事項とするしかないかと考えていますm(_ _)m

2010年6月16日水曜日

ソフトウェアのページ

Google Sites (Google サイト)にて SQL Browser 用のページを作成しました。

    http://sites.google.com/site/sqlbrowser/

このブログも引き続き更新履歴や技術情報をお届けしますが、ソフトウェアの概要や、ダウンロード、問い合わせなど、総合的なページが必要だと思ったためです。

まだ情報量が少ないですが、今後充実させていきますので、是非ごらんくださいm(_ _)m