戻る

過去の記事 No.3


T さん 2015年 03月 27日 11時 54分 30秒

初めまして
IBExpertに変わるツールを探していてこちらにたどり着きました
インターネット環境のないところでFireBirdで使いたいと考えています
ところで数十万レコードあるテーブルを開くと非常に時間がかかるのですが
これは仕様なのでしょうか
設定をいろいろ変えて試したのですが変わりません
何か設定方法があれば教えてください

作者のTomTomです。 さん 2015年 03月 13日 19時 49分 24秒

mo さんへ

mo さんもDelphiの使い手ですか、なんかうれしいですね。

で、QueryBookは客先でちょい使いする事を想定しているのでレジストリはダメなんです。
(だもんでシェアウエアになってもライセンス破りは超簡単だったりする。)

今でもMainフォームは位置を覚えているのでコーディングは問題ないので、後は私がその気になるか、だけですね。 

私的にはXE7を買ってAndroid開発に手を出そうかな、と思っている今日この頃です。にしても XEからXE7は無茶高い。 (-_-メ)

mo さん 2015年 03月 13日 16時 40分 48秒

Ver5、首をながくして楽しみに待ってます。
queryビルダーの位置とサイズのことですけどレジストリを使っていいなら
TrestorePos tp://www.din.or.jp/~egawa-n/delphi/lib/restorepos.html
とかいろいろありますよ。かなり昔のものですけれどいまだに愛用しています。
Win7/64,XE6で普通に動いています。
あと、私がXE2pro->XE6proにバージョンアップしたとき「もうひとつプレゼントキャンペーン」とかで
fireDACを無料で手にいれられました。fireDACを使い始めて、やっとBDEの過去資産を
移行する意欲がわいてきました。

作者のTomTomです。 さん 2015年 03月 11日 20時 58分 46秒

mo さんへ

実は社内ではUnidac対応のQueryBuilderを試しているところで、とっても便利に使っています。各DBの方言に合わせたSQL文を構築してくれるんで、なかなか面白いですよ。
試用版なんで配布できないけどね。

問題は、最近グリッドの最新版を大枚はたいて購入したばっかりだし、Delphiの最新版を今月中に買いたいし、QueryBuilderに回すかお金がなくて、どうしたもんか思案してたとこなんです。

UnidacもQueryBuilderも QueryBook 以外に使い道が無いので、シェアウェアにしないとやってけないんですが、皆さん購入してくださるか心配で躊躇しているとこなんです。

なんやかんやで、ウン十万の投資になりますからね。

起動時の位置とサイズについては検討しますね。
設定ファイルに記憶しておく事になると思うけど、設定ファイルを持ち回って使っていると、次回起動時にとんでもないところに表示しちゃいそうで厄介な事になりそうだぁ...。


ちなみに、集計グリッドはものすごくハイパワーになりました。
集計や、検索が超早い!!。 Ver5で公開しますね。

Ver5はフリー版と、シェアウエア版の2つに分かれます。
んで、Unidacはシェアウエア版だけの対応になるのですが、そこにQueryBuilderを入れるかどうかってとこですね。

mo さん 2015年 03月 11日 17時 32分 31秒

いつも便利に使わせていただいています。
queryビルダーがunidac対応になるなら
シェアウェア大歓迎です。
あと、queryビルダー起動時の位置とサイズを記憶していただけると
うれしいんですが。


作者のTomTomです。 さん 2015年 03月 07日 19時 54分 42秒

データベーススペシャリスト(自負しています。) さんへ

ユーザーの切り替えについては、QueryBook自体が、スキーマ情報をどっさり内部に保持して使い勝手を向上させる仕組みなんで、複数ユーザを同時に扱うとそのあたりがややこしい事になるので、無理があるんです。

MDI画面なんで、ユーザー毎に接続設定を変えて別Windowで表示するとかして対処してください。

75件は、レコード取得制限の設定周りの問題だっだかな?
一回のフェッチでのレコード数が出てたかな?
今、環境が無いので確認できないのですが、データセットの設定をいじって頂けると直るかもしれません。

...バグもあったのですが、現在公開中の物が修正ずみだったか、手元の物だけ直したか記憶が無くて...。修正してからまだ、公開していないかな?

データベーススペシャリスト(自負しています。) さん 2015年 03月 07日 17時 31分 09秒

度々失礼します。

OracleDBにて左側のテーブルを選択して、フィルタ条件等を何も指定せずにレコードを表示した場合、中央下部にレコード件数が表示されると思いますが、常時「75レコード」と表示されてしまいます。

実際は75レコード以上あるのですが、どのような意味合いになりますでしょうか。

よろしくお願い致します。

データベーススペシャリスト(自負しています。) さん 2015年 03月 07日 14時 42分 07秒

お世話になります。
回答ありがとうございます。
UNIDAC接続で問題なく接続でき、データ取得することができました。

度々質問で申し訳ありません。
(一昨日より使用開始させていただきましたもので不慣れです。)

OracleDBでの接続で、複数ユーザーのテーブル(USER1とUSER2など)を縦断して使用したい場合、「ツリー表示」にて該当するユーザーを選択すればテーブルが参照可能ですが、その度にユーザーを選択するのが手間と感じます。
複数ユーザー間を縦断したテーブル名検索などは可能でしょうか?

よろしくお願い致します。

作者のTomTomです。 さん 2015年 03月 07日 11時 37分 50秒

データベーススペシャリスト(自負しています。) さんへ

QueryBookは今のところ32bitだから500万行だと、本当にメモリ不足かもしれませんね。

ちなみに、ADO接続はタコな事が多いので、UNIDAC接続をお試しくださいね。
こっちなら、DIRECTモードがありますから、OCIもADOも不要です。
中間層を介さない分、少しいいかも。

データベーススペシャリスト(自負しています。) さん 2015年 03月 07日 08時 42分 34秒

お世話になります。
返信ありがとうございます。仕様ということで理解致しました。

現在Oracle11gにADO接続しております。
(Provider=MSDAORA.1;Password=◯;User ID=◯◯◯;Data Source=◯◯◯;Persist Security Info=True)

あるトランザクションテーブル(500万行程度)を開こうとするとメモリ不足とのメッセージが出て開くことができません。

マシンスペックはWindows7sp1,intelcorei7,メモリ8GBです。

他のソフト(Object BrowserやAccessODBC接続、黒猫SQLNext等)では開けます。

対応策をご教示下さい。よろしくお願い致します。

作者のTomTomです。 さん 2015年 03月 06日 20時 14分 19秒

データベーススペシャリスト(自負しています。) さんへ

もともと、テーブルとビューしか出さない仕様だもんでねぇ...。

シノニムは何とかなっても、ストアドを一覧に出しても現在の画面構成では使い物にならないから意味ないしなぁ。

ストアドの実行画面にちょっと興味があるんだけど、別にQueryBookで実行しなくても、どうせ専用の開発ツール使うでしょうしね。

と言う事で、自分が必要になったら考えます。

データベーススペシャリスト(自負しています。) さん 2015年 03月 06日 19時 22分 02秒

OracleDBに接続しています。
テーブルとビュー以外の要素(ストアド・プロシージャやシノニムなど多数)が表示されません。
修正をお願いします。
よろしくお願い致します。

作者のTomTomです。 さん 2015年 02月 21日 11時 25分 22秒

バレンタインもらえなかった さんへ

お返事がおそくなりまして申し訳ありません。

んで、仕様って言えばそうですね。
なんか違いがあったら「データ比較」すればいいやって感じで深くは考えていないので、そうなっています。

件数に差異があっても、比較を続行するようにすればいいだけなんで、設定できように変更しようかな?

現在、Ver5に取り掛かっていますんで、そん時に入れられれば入れときますね。

ついでに、Vectorからバリバリダウンロードしていただければ助かります。
コメントでも入れてくださればなおうれしいです。 (^^;)

バレンタインもらえなかった さん 2015年 02月 19日 13時 46分 49秒

TomTom様

QueryBookバリバリ使わせてもらっています。
有用なツールを公開頂き、ありがとうございます。

ところで、Ver4.30使用していますが、「メニューのツール→DB間テーブル比較」
について、質問させて頂きます。

双方のレコード数が異なっていれば、比較出来ない様ですが、これって仕様でしょうか?

同じ内容のSQLサーバーを2つ立てて、1つは本番用、もう1つは新規開発&デバッグ用に使っていますが、テーブルのレコード数等に差が出てくるので、とても便利な機能でありながら、DB間テーブル比較が使えないのです。

※「メニューのツール→データ比較」は、レコード数が異なっていても
(又、フィールドが異なっていても)比較してくれるのですが、
異なったDBがソースのデータは比較出来ないので…

DB間テーブル比較で、レコード数が異なっている場合でも、内容の比較&外部ツールでの比較が出来る様になりませんでしょうか?

宜しくご検討下さい。


作者のTomTomです。 さん 2014年 12月 16日 23時 58分 45秒

からあげ さんへ

おや、まあ、そうなんですか。
実は、スクロール判定が厳しすぎるかなって心配してたんですよ。

もうちょっと調整しなきゃいけませんね。
大変参考になりました。ありがとうございます。
今後ともよろしくです。

からあげ さん 2014年 12月 16日 20時 15分 22秒

さっそくのご回答ありがとうございました。
無事に使用することができました。

補足
マウスホイールで下までスクロールした場合は有効になりませんでした。
ただ、下までスクロールした後、スクロールバーの[↓]ボタンを押下したら有効になりました。

重ねてありがとうございました。

作者のTomTomです。 さん 2014年 12月 16日 18時 03分 15秒

からあげ さんへ

使用許諾を下までスクロールしたらボタンが押せると思うんですけど、上手くいかないかな?
設定ファイルは解凍したフォルダに入っていますよ。

からあげ さん 2014年 12月 16日 11時 13分 25秒

初心者で申し訳ないのですが、
QueryBookをダウンロードし、解凍後に起動すると、使用許諾画面が表示されます。
チェックもOKも押せない状態となっています。

使用条件内に記載してある設定ファイル等はどこから取得すればよろしいでしょうか?
「※このダイアログは設定ファイルが存在しない場合に表示されます。したがって、設定ファイルをコピーして使用する場合もこの文章を承諾したものとしてみなされます。」

もし、HP内に書いていたらすみません。

作者のTomTomです。 さん 2014年 12月 11日 13時 01分 44秒

ティム さんへ

ODBCドライバかOLEDBドライバがあれば使えますよ。きっと

ティム さん 2014年 12月 10日 12時 28分 45秒

tomtomさん
富士通のシンフォウェアには使えないでしょうか、、
使えないですよね、、

ティム さん 2014年 12月 10日 12時 02分 03秒

tomtomさん
富士通のシンフォウェアには使えないでしょうか、、
使えないですよね、、

作者のTomTomです。 さん 2014年 12月 05日 12時 55分 56秒

近頃マメにバージョンアップ中です。
最新は Ver 4.3.0 

Vectorからどうぞ
http://www.vector.co.jp/soft/dl/winnt/business/se466819.html

わた さん 2014年 12月 04日 09時 30分 39秒

TomTomさんへ

さっそくのお返事ありがとうございます。
ご案内のサイトを見てみました。凄く多彩なことが出来るんですね。
どんなことが出来るのか、ワクワクしながら使わせていただきます。

作者のTomTomです。 さん 2014年 12月 03日 20時 49分 16秒

G-Racer さんへ

なるほどね。

納得。

にしても、そんなにテーブルあるんだ、やっぱなんだかすごいなぁ。

G-Racer さん 2014年 12月 03日 20時 34分 49秒

TomTom さんへ

JRAのDBへは直接接続できません。
「EveryDB」というツールを使って、ローカルのMySQLにデータを移しています。

論理名が表示できるだけでも大助かりです。
101あるテーブルから手打ちでSQL文を作っていましたゥ・

お世話になります m(__)m

作者のTomTomです。 さん 2014年 12月 03日 20時 20分 21秒

わた さんへ

いや〜、いい加減なHelpで申し訳ないですね。

保存、読込は
http://www.querybook.gamaguti.jp/DataPage1.htm
の下の方にチラッと書いてあるだけです。

もっとも、使い方っていっても、実際操作して頂ければ分かると思いますが、単にグリッドのデータをファイルに保存したり読み込んだりするだけです。

UNIDAC接続以外は、読み込んだデータを編集してDBに登録することもできますけどね。

とりあえず、色々触ってみてください。

わた さん 2014年 12月 03日 12時 02分 49秒

こんにちは。

Firebirdの開発ツールをネット探索していてQueryBookを知りました。
私はSQL初心者(いつまでたっても)ですが、このツールのおかげでステップアップ出来そうです。

ところでツールバーの「入出力」メニュー内に データ保存・データ読込 とありますが、
これの使い方はどこを見ればよいのでしょう? ヘルプファイルやこのサイトをひと通り探したつもりですけど見つかりませんもので。

お手数をお掛けしますがどうぞよろしくお願いいたします。

作者のTomTomです さん 2014年 12月 02日 20時 20分 21秒

G-Racer さんへ

へぇ〜〜?!
JRAのDBに接続できるの??

なんだかすごいな...。

G-Racer さん 2014年 12月 02日 13時 34分 43秒

TomTomさん、はじめまして

JRA-VANのDBをコネコネしたく、Querybookにたどり着きました。
Oracle7i以来のDBですが、すばらしいSQLツールに出会いましたので復習しながら使わせていただきます。

作者のTomTomです。 さん 2014年 11月 19日 18時 18分 48秒

ruru さんへ

こりゃダメだ、コンポーネント買うしか無さそうです。  (ー_ー)!!

作者のTomTomです。 さん 2014年 11月 18日 21時 40分 56秒

ruru さんへ

あらま、ヌルポですね。
明日調べてみます。

クエリビルダーは、最近アップデートできていないので、もしかするとクエリビルダーのライセンスを買わないと直らないかも...。

ruru さん 2014年 11月 18日 14時 47分 34秒

お世話になっております。
QueryBookVer4.2.5.0を使用しております。

その他機能−クエリビルダにて、[ソート種別]を昇順or降順を選択すると、
以下のエラーが表示され、ソートが行えません。

(エラー内容)
モジュール'QueryBook.exe'のアドレス 011405C4 でアドレス00000000
に対する読み取り違反がおきました。

何か対処法などございましたらご教授お願いいたします。

作者のTomTomです。 さん 2014年 11月 01日 10時 21分 08秒

ついにVer4正式に公開です。

Vectorから一杯ダウンロードしてくださいね。

作者のTomTomです。 さん 2014年 08月 15日 20時 23分 46秒

久しぶりにバージョンアップです。

人柱版 Ver4.1は ダウンロードのページです。
お試しくださいね。

作者のTomTomです。 さん 2014年 03月 12日 21時 08分 35秒

取得レコード制限 なんとかなりました。
次回アップしますね。

実は、今、他のところいじっちゃって具合悪いので落ち着いたらアップします。

wolfwood さん 2014年 03月 11日 10時 31分 08秒

TomTom 様

お世話になっております。

「取得レコード制限」の件承知致しました。

トランザクションの件はこちらの都合を押し付けてしまい恐縮ですが、
よろしくお願い致します。

作者のTomTomです。 さん 2014年 03月 10日 21時 31分 16秒

wolfwood さん

「取得レコード制限」の設定の件、バグですね。
確かUNIDACでも設定できたハズなので、次回UPまでに直しておきます。
...もしかしら上手くいかないで諦めちゃうかもしれませんが、その時はごめんなさいです。

トランザクションの件は、大丈夫だと思うので対応しますね。

作者のTomTomです。 さん 2014年 03月 10日 21時 26分 30秒

ティム さんへ

おや、本当ですね。
バグです。今度アップするときに直しておきますね。

wolfwood さん 2014年 03月 10日 14時 31分 54秒

TomTom 様

お世話になっております。

本日2度目の投稿になりますが、Unidac接続について教えてください。

Unidac接続で、Oracle11gに接続していますが、「接続設定」>「その他の設定」にある、
「取得レコード制限」の設定がうまく反映されません。
Select文を発行すると、「取得制限レコード数」を超えて検索結果を表示してしまいます。
他に何か設定しておかなければいけない箇所があるのでしょうか。


お手数ですが、ご教示ください。

ティム さん 2014年 03月 10日 12時 28分 04秒

TomTomさん

先日はありがとうございました。無事正常にスキーマが取得でき、
運用させて頂いております。

一点だけ質問です。
数値型の際に3桁区切りでデータを表示する機能がありますが
機能を外しても区切られたままデータが表示されます。
スキーマ再取得を行っても現象は変わりません。
これは使用するDBによって動作が異なるのでしょうか。
現状oracle11gを使っております。

知識が浅いもので申し訳ありませんが、宜しくお願いします。


wolfwood さん 2014年 03月 10日 11時 43分 26秒

TomTom 様

お世話になっております。

ご連絡頂いた件、承知しました。
ご検討頂き、ありがとうございます。

本番環境を常に触る環境なので、今までは他のメンバーへ
こちらのツールを教えるのを躊躇していましたが、
これで心置きなく他のメンバーへ薦められます。

ご対応お待ちしております。

作者のTomTomです。 さん 2014年 03月 08日 12時 36分 26秒

wolfwood さんへ

やっぱり、目的からすると
「接続時にデフォルトでトランザクションスタート状態になる」のではなく、
SQL投げたら勝手にトランザクションスタートするって感じゃないかな?

だって、一度でもコミットしたら、もう一回スタートしなきゃいけなので、「2度目は自分でボタン押してね。」じゃ目的を達していたいように思いますよ。

そのあたりはDBのよっては挙動が違いますし、文化も違いますので、Oracleの都合だけに合わせるわけにはいきませんもんね。Oracleは勝手にトランザクションスタートする仕様でしたっけね?

今、自動時にトランザクションスタートする設定を追加してあるので、この仕様を変更して勝手にコミットしないようにしますね。


wolfwood さん 2014年 03月 07日 13時 06分 52秒

TomTom 様

お世話になっております。

CSEの挙動というよりは、OracleのSQLPlusでコマンドを発行するときの挙動です。

目的は、以下の通りです。

INESRT文やUPDATE文、DELETE文を使用して、テーブルの値を登録・更新・削除した後に、SELECT文を発行し、
結果が本当に間違いがないかどうかを確認してから、コミットしたいからです。
※特に本番環境などは、結果を確認せずにコミットするのはナンセンスなので。


使い勝手等の問題があると思うので、一番最初の投稿でお願いしましたように、
接続設定のオプション等で、DB接続時にトランザクションスタート状態、つまり、
ツールバーの「トランザクション」>「スタートトランザクション」が押下された状態でDB接続するモードを追加して頂きたい、と申し上げています。


=[最初の投稿]============================================================
1.自動トランザクション開始機能
  通常、明示的にツールバーのトランザクションから操作しないと
  トランザクションがかからないか思いますが、オプション設定で
  最初からトランザクションスタート状態にできるような機能が欲しいです。
=========================================================================


ご検討の程、よろしくお願い致します。

ティム さん 2014年 03月 04日 22時 43分 42秒

TomTomさん

丁寧にありがとうございます。
oracle11gを使用しています。そうですね、システムテーブルを引っ張ったりしています。

スキーマ名を設定していなかったので明日もう一度試してみます。

作者のTomTomです。 さん 2014年 03月 04日 21時 13分 33秒

ティム さんへ

接続先DBにもよるのですが、接続ユーザの権限が強すぎると、システムテーブルなんかも、引っ張ってくることがあります。

そんときは、スキーマ名とかカタログ名を設定してあげると良くなると思います。
ちなみにお使いのDBは何ですか?

あと、たまーにスキーマ情報の再取得でテーブルが重複することがあるようです。
再現方法が分からなくて対策できていないのですが、そんな場合、もう一回取得しなおせば直ります。

ティム さん 2014年 03月 04日 12時 30分 19秒

TomTomさん

クエリーブックを使わせて頂いている者です。
質問なのですが、ADOでの接続では問題なかったのですが
unidacにしてからスキーマ情報取得がうまいこと行きません。
同じテーブル名が重複していくつも表示されたり、名称がおかしいテーブルが表示されたりといった問題があるのですが、設定が間違っているのでしょうか。

宜しくお願いします。

作者のTomTomです。 さん 2014年 02月 24日 22時 26分 59秒

wolfwood さんへ

うーむ、目的がわからないなぁ〜。

そういえば、CSEがそんな動作だっけな?
「接続時にデフォルトでトランザクションスタート状態になる」のではなく、
SQL投げたら勝手にトランザクションスタートするって感じかな?

だとしたら、SELECTなら、トランザクションスタートしないようにしないと使い勝手が悪くなっちゃいそうだし、結構厄介ですね。

ちょっと微妙な感じ...。


wolfwood さん 2014年 02月 24日 09時 48分 30秒

TomTom 様

お世話になっております。

UNIDAC接続については、まだ使用していなかったので試してみます。
ありがとうございます。

1.については、ちょっと私が申し上げていることが伝わらなかったようですね。
私がやりたいことは、グリッドを直接修正する場合の想定ではなく、
INSERT文やUPDATE文を明示的にSQLシートに記載してCtrl+Enterを押した後、
そのままコミットされるのではなく、ロールバックできるようにして欲しい、
ということです。

作者のTomTomです。 さん 2014年 01月 31日 23時 22分 26秒

wolfwood さんへ

トランザクションについては、保存ボタン押下時に自動的にトランザクションをスタートする機能を追加しましたが、接続時に自動的にトランザクションをスタートするようにしはしていません。だって、ボタンをポチッとクリックすればいいだけですもんね。どっちみちコミットしたら、もう一回スタートしなきゃいけないし。

あと、UNIDAC接続では、スクリプト実行画面が使えます。
複数のSELECT分ならその数だけ取得結果が表示されますし、もちろん、複数のInsertも実行できます。

UNIDAC接続はVer4から使用できますのでお試しください。

wolfwood さん 2014年 01月 31日 13時 35分 30秒

TomTom 様

以前、私が要望を出させて頂いた機能は実装されていますでしょうか。
どちらの機能も探すことができません。。。
やり方を教えてもらえますか?

=========================================================================
>1.はインサート文やアップデート文を記述して実行する際に、メニューのトランザクションをスタートしてから実行するのではなく、
>接続時にデフォルトでトランザクションスタート状態にしておくようなオプションが希望です。
>
>2.は複数記述したインサート文を一括で実行できるような機能です。
>

戻る