.NET Framework 2.0以上で動作する、データベース(SQL Server 2008/2005/2000)アプリケーションの開発者向けのMDI形式の補助ツールです。エンタープライズマネージャー/SQL Server Management Studioやクエリアナライザでは用意されていない機能を実現したり、使いにくい機能を補助する目的に作成しました(完全な置き換えは目標としていません)。
特にテーブルに対する処理に特化しています。
テーブルを指定した
・ insert文の生成(insert文によるデータエクスポート機能)
・ フィールドのリストの生成
・ Select 文の生成
・ 簡易的なCreate 文の生成
・ CSV,TAB区切り形式でのデータ抽出&読込
・ INDEX情報の表示
・ データの表示&編集
・ フィールド一覧の表示
・ データ件数の取得
・ データ依存関係の取得
・ フィールド情報を元にしたwhere句の生成
等が可能です(一部機能はViewにも対応)。
結果は、クリップボードもしくはファイルへ書き出されます
上記以外にもManagement Studio等の起動が可能です。
・ .NET Framework 2.0(Service Pack 1)以上 がインストールされているWindowsマシン
・ 画面解像度 が 1024 x 768 あることを想定して画面デザインしています
・ 対象としているデータベースエンジンは SQL SERVER 2005/2000/2008
・ quickDBExplorer を起動します。
・ 起動後には下記のようなウィンドウが表示されます。このウィンドウを閉じた場合、コントロールキー+Nキーを押下するか、メニューから「接続」―「新規接続」を選択することで同じ画面を表示することが可能です。
画面上の項目内容は下記の通り
番号 |
項目名 |
必須対象 |
備考 |
1 |
過去に接続したサーバーから選択 |
- |
過去に接続したサーバーがあった場合に、その記録されている接続時の情報を引用可能です。過去の接続したサーバーの一覧を表示するので、そこから選択可能です。 |
2 |
サーバーの指定 |
○ |
接続先のサーバー名(おそらくコンピューター名)を指定します。Windows 上のマシン名や FQDN、IPアドレスでも指定できます。 |
3 |
接続先を保存する |
- |
これから接続する先の情報を記憶するか否かを指定します。記憶する場合はチェックをつけてください |
4 |
インスタンス |
- |
接続先のマシンでSQLServerがインスタンス付きでインストールされている場合は、指定が必要です。 |
5 |
Windows認証を利用 |
- |
SQLSERVERへの認証方法でWindows 認証を利用する場合にチェックします。 |
6 |
ユーザーID |
- |
認証方法に Windows 認証を使わない場合に、SQLSERVERにログインするユーザーを指定します。 |
7 |
パスワード |
- |
認証方法に Windows 認証を使わない場合に、SQLSERVERにログインするユーザーのパスワードを指定します。 |
8 |
接続 |
- |
指定された情報でSQLSERVERに接続します |
2 〜 7 の項目を設定し、「接続」ボタンを押下することで、指定されたサーバーに接続を行います。
正常に接続できた場合は、メインウィンドウ(後述) を表示します。
何かしらの問題が発生した場合、エラーに関する情報を画面下部に表示します。
ここのエラーメッセージをダブルクリックすることで、エラーの詳細がクリップボードへとコピーされます。問題の解決に利用してください。(別のウィンドウでもエラーメッセージは同様に詳細を確認できます)
接続が正常に完了すると、メインウィンドウが開きます
M B C D F G I O B-2 P J E @ A N H L K
以下、画面エリア別に機能を説明します
接続したサーバーに作成されているデータベース名が表示されます。
選択可能なデータベースは一つだけです。
コントロールキー + C を押下することで、選択しているデータベース名をクリップボードにコピーします。
以前に同一サーバーに接続しており、その時の状態を記憶している場合、前回の最後に接続したデータベースが自動的に選択されます。
@で選択されたデータベースに設定されている Schema/owner/role の一覧が表示されます。
ここでは、複数のSchema/owner/roleを選択できます。ここで選択状態にした Schema/owner/role の保持するオブジェクトだけが、Bのオブジェクト 一覧に表示されます。「全て」を選択した場合、全てのオブジェクトがBのオブジェクト 一覧に表示されます。
コントロールキー + C を押下することで、選択しているSchema/owner/role名をクリップボードにコピーします。コントロールキー + Aを押下することで、一覧上の全てを選択することができます。
以前に同一サーバーに接続しており、その時の状態を記憶している場合、前回の最後に接続したデータベースが自動的に選択されます。
表示されているリストを最新にするには、ラベル「Schema(O)」(SQL Server 2005 の場合)をダブルクリックすることで指定されている条件に基づき読み込みしなおします。
操作対象とする table/view/Synonym を選択します。
ここでは複数の対象を選択できます。
表示列は 先頭から、
・ オブジェクトの種類(記載がない場合はテーブル,VはView, SはSynonym)
・ オブジェクトの属しているSchema/owner/role名
・ オブジェクト名称
・ オブジェクトの作成日
をあらわします。
コントロールキー + C を押下することで、選択しているSchema/owner/role名をクリップボードにコピーします。コントロールキー + Aを押下することで、一覧上の全てを選択することができます。
ここで、右クリックを行うことで、選択したオブジェクトに対し行う操作を選択することが可能です(詳細は後述)。
グリッド表示がONになっている場合には、ここで単一のオブジェクト を選択している場合にのみ N のグリッド部に、データが自動的に表示されます。
また、ここで選択したオブジェクトは、その選択履歴を最大10個まで記憶しており、B-2 のコンボボックスから選択することで、すぐに移動することができます。ただし、この履歴はBオブジェクト の内容を更新する処理を行った場合(ASchema/owner/Roleの選択を変更した場合など)には初期化されます 。
SQLServer2005の場合、Synonym もここに表示されます(Synonymの参照先がTableもしくはViewである場合のみ)。また、各種処理については権限を有する限りSynonymに対しても実行可能です(統計情報の更新は除く)。
列のヘッダをクリックすることで、ソート順が変わります(クリックを繰り返すことで、降順・昇順が変わります)
表示されているリストを最新にするには、ラベル「オブジェクト(V)」をダブルクリックすることで指定されている条件に基づき読み込みしなおします。
ASchema/owner/Roleにシステム規定のSchema/ownerを表示するかどうかを切り替えます。
表示する場合、INFORMATION_SCHEMA 等のシステム規定のユーザーが表示されます。
Bオブジェクト に table とあわせ view も表示するか否かを指定します。
Bオブジェクト の表示順を指定します。 Schema/owner/roleを無視して オブジェクト の名称のみでソートするか、Schema/owner/role + オブジェクト名でソートするかを指定します。
ここでソート順を指定した後でも、Bオブジェクトの列ヘッダをクリックすることでさらにソート順を変更することが可能です。
Bオブジェクトで選択したオブジェクト を対象とした各種操作の結果の出力先を指定します。
クリップボードを指定した場合、処理結果は、全てまとめてクリップボードに文字列として出力されます。
単独ファイルを指定した場合、ファイル名を指定する必要があります。全ての結果は指定された一つのファイルに書き出されます。
複数ファイルを指定した場合、フォルダ名を指定する必要があります。この場合、各オブジェクト毎に出力先ファイルが分かれます。ファイル名は自動的にオブジェクト名+”.csv” などのようにつけられます(処理機能によりかわります)。
Bオブジェクトで選択したオブジェクト を対象とした各種操作の結果を出力する場合の文字コードを指定します。ファイルに対して書き出す場合(F出力先で単独ファイルもしくは複数ファイルを指定した場合) のみ有効です。
Bオブジェクトで選択したオブジェクト を対象とした各種操作を行う場合の絞込み条件、ソート順、別名を指定します。
複数オブジェクトが指定されていた場合は、選択されている全てのオブジェクトに対し、同じ指定された where 句、order by 句、別名が適用されます。
ここでは、 「where」、「order by 」「as」そのものは指定する必要はありません。
Alias(別名)を指定した場合、列や where, order by にもその別名を利用できます。
例:
テーブル sys.all_objects を選択している場合 alias に 「obj」 を指定し、where に obj.name like '%sys%' と指定することで、
select obj.* from [sys].[all_objects] obj where obj.name like '%sys%'
と同等の意味になります。
これを利用して、where 句に記載するサブクエリ等が記述しやすくなります。
下記のショートカットキーが有効です。
Ctrl + A: 文字列の全選択
Ctrl + C: 選択されている文字列のクリップボードへのコピー
Ctrl + V: クリップボードからの貼り付け
Ctrl + X: 選択されている文字列のクリップボードへの切り取り
Ctrl + W: 値の拡大表示(後述)
Ctrl + S: 入力履歴の表示(後述)
Ctrl + D: 現在の選択範囲に関わらず全文字列を削除する
Where 句のテキストボックスで Ctrl+W を押下するか、テキストボックス横のボタンを押下することで、下記のウィンドウが表示され内容を拡大表示・編集することが可能です。
ここで直接値を編集することができます。
また、単一のオブジェクトを選択している場合には そのオブジェクトのフィールドが一覧に表示されるので、一覧上で、条件を入力することが可能です。
結合条件指定 を選択し、対するフィールド条件を 値列 に指定することで、自動的にwhere 句が生成されます。
フィールド間の結合条件には、AND, OR のいずれかが指定可能です。
Order by もしくは Alias のテキストボックスで Ctrl+w を押下するか、テキストボックス横のボタンを押下することで、下記のウィンドウが表示され内容を拡大表示・編集することが可能です。
ここで直接値を編集することができます。
これらの画面では、「常にTOPに表示」にチェックを入れることで、このウィンドウが常に最善面に表示されます。 また、画面を閉じることなく「適用」ボタンを押下することでも、親画面に適用することが可能です。
Ctrl + Sの押下による入力履歴の表示画面では、下記のダイアログが表示されます。
この画面では、一覧部分から単一選択を実施し、決定もしくはダブルクリックもしくはエンターキーの押下により、選択された文字列(履歴列に表示されている内容)が元の画面にセットされます。
この画面では複数行の文字列は見難くなっていますので、「履歴拡大表示(Z)」ボタンを押下することで、履歴の値を複数行で表示することができます。
また、この履歴は、次回の起動時にも記憶しています。削除する場合は、履歴一覧の画面から「履歴消去(L)」ボタンを押下することで全ての履歴を一括して削除することができます(個別削除はできません)。
ここでは、Nグリッド部 にデータを表示するか、また表示する場合の最大件数を指定します。
「表示」チェックボックスにチェックを入れることで、Bオブジェクトで単一オブジェクトが選択されている場合に、そのデータがNグリッド部に表示されます。
データが表示される場合、「表示件数」で指定された件数を最大件数として表示します。0が指定されている場合もしくは空白の場合には、表示件数の制限は無効になり、全てのデータが表示されます。
全てのデータが表示されていない場合、O「一時的に全データを表示」ボタンが有効になっています。
全てのデータが表示されている場合、O「一時的に全データを表示」ボタンは無効になっています。
件数の多いテーブル等を表示する為にはデータの取得に時間がかかります。できる限り表示件数を制限することをお勧めします。
ここでは、Bオブジェクトで選択したオブジェクト を対象とした各種操作を選択します。
ここで選択できる処理は、その多くがBオブジェクト 上で右クリックでも選択可能です。
詳細は後述。
Lフィールド一覧 部に各フィールドの属性(型などの情報)を表示するかどうかを指定します。
チェックがついている場合、属性を含めて表示します。
Lフィールド一覧で選択されたオブジェクトが単一の場合、そのオブジェクト のフィールドを一覧表示します。
ここでは、フィールドから複数(もしくは単一)を選択し、コントロールキー+Cを押下することで、フィールド名(属性を表示している場合はその属性情報も含め)をクリップボードへコピーします。この処理は右クリックでも選択可能です。
下記のショートカットキーが有効です。
Ctrl + A: 文字列の全選択
Ctrl + C: 選択されている文字列のクリップボードへのコピー
Ctrl + F: 条件を指定したフィールド情報のコピー
もしくは右クリックにて、次の処理が選択できます
コピー
改行なしコピー
コピーカンマなし
コピー改行カンマなし
条件指定コピー
Where 句生成
Ctrl + F を押下した場合、もしくは 右クリックで条件指定コピーを選択した場合、次のダイアログが表示されます。
ここでは、フィールドに alias を指定することも可能です。
パターン選択 のコンボボックスを選択することで、よく利用する 組み合わせを簡易に指定可能です。
Where 句生成 を選択した場合、ダイアログが表示され、選択しているフィールドを元に条件句を生成することができます。
このダイアログでは、選択したフィールドを元に、
・ 同一のフィールドを持つ2つのテーブルの結合
・ 単独テーブルの選択フィールド全てに 同一の条件を指定
のいずれかを行うことを想定し、結合条件を生成することができます。
テーブル結合を指定した場合は、同一のフィールドを持つ2つのテーブルの結合する為のwhere 句を生成し、その他条件 を指定した場合は単独テーブルの選択フィールド全てに 同一の条件を指定 する為の where 句を生成します。
条件のパターンとして、
テーブル結合を指定した場合、標準では
・ = のみ
・ = & null チェック
・ != のみ
・ != & null チェック
を指定可能です。
また、コンボ部では「{0} is null and {1} is null」のように指定可能で、その場合には {0}に、1つ目のテーブル名+フィールド名 {1} に2つ目のテーブル名+フィールド名 が代入され、その結果が where 句として生成されます。
その他条件 を指定した場合、
・ is null
・ is null or != ''
・ is not null
・ is not null and != ''
が指定可能です。
この時、コンボ部では 「{0} between 1 and 2」のように指定可能で、その場合には {0}にテーブル名+フィールド名が代入され、その結果が where 句として生成されます。
Nグリッド部に表示されているデータを編集する場合、「データ編集」ボタンを押下します。
ただし、データ編集が可能なものは、そのテーブルに Primary Key が張ってある場合のみです。
Primary Key がない場合には、「データ編集」ボタンはグレーアウトされ押下することができません。
データ編集モード中は「データ編集」ボタンは「データ編集終了」へとラベルが変更されます。
グリッド上でデータを変更した後、「データ更新」ボタンを押下することで、編集した内容がデータベースに反映されます(「データ更新」ボタンを押下しない限りデータはDBに反映されません)。
データの編集を終了する場合、「データ編集終了」ボタンを押下します。
データ編集は、他のオブジェクトを選択した場合や、データの再表示が行われた場合に強制的に終了し、変更途中のデータは破棄されます(変更があっても確認しません)。
Bオブジェクトで選択されたオブジェクトが単一の場合、かつIデータグリッドの「表示」にチェックが入っている場合、選択されたオブジェクトのデータを、Iデータグリッドの「表示件数」を最大件数として表示します。ここに表示されている値をクリップボードにコピーするには、Iデータグリッドの列見出しや行見出しの部分を右クリックすることで、「クリップボードにコピー」のメニューが表示されるので、それを選択することで、TAB区切り形式にてクリップボードにコピーします。
見出しの頭に「★」がついている列はNULL 可として設定されている列です。
背景色が水色のセルはNULL値になっています。また、背景色がとき色(ピンク)の場合は、複数行にわたる文字列が格納されています。背景色がコバルトグリーンの場合、そのセルはバイナリデータを扱うフィールドです(このセルの値はNULLに設定することを除き編集モードでも変更できません)。
なお「データ編集」中の場合、下記の操作が可能です。
行全体を選択し、DELキーを押下することで、データ編集中にデータを削除することが可能です(複数行可。削除結果は「データ更新」が押下されるまでDBに反映されません)。
コントロールキー+1 を押下することでNULL値を、コントロールキー+2を押下することで空文字列を入力可能です。
また、コントロールキー+3を押下することで、選択しているセルの値を別ウィンドウに拡大表示します。また、そのフィールドに登録されているデータ内容が画像である場合、その画像を表示します。
データ編集中の場合にのみ、このウィンドウの「決定」ボタンが有効になり、ここで指定した値を親画面に戻すことが可能です。
データが画像の場合、下記のようにその画像が表示されます。
右クリックを押下することで、いくつかの機能を実行することができます。
・ 全ての行をクリップボードにコピー
・ 選択行のみクリップボードにコピー
・ 全行選択
・ 全行選択解除
「全ての行をクリップボードにコピー」 を選択すると、グリッド部の全ての項目をタブ区切形式でクリップボードにコピーします(行の選択状態に影響されません) なお、グリッド上でCtrl + Aを押下することで、全ての行を選択状態にすることが可能です。
「選択行のみクリップボードにコピー」を選択した場合は、グリッド部の選択状態にある行のデータのみ、タブ区切形式でクリップボードにコピーします(行の選択状態に影響されます)
「全行選択」は全ての行を選択状態に変更します。
「全行選択解除」は全ての行を非選択状態に変更します。
また、グリッドの編集中の場合には、右クリックメニューにさらに下記の項目が表示されます。
・ データ取込(CSV)
・ データ取込(CSV)(”付き)
・ データ取込(TAB)
・ データ取込(TAB)(”付き)
これらはテキストもしくはクリップボードから、グリッドへと値を読み込みます(DBへの反映はすぐには行いません)。動作の詳細はメニューの対応項目と同様ですので、CSV等作成・読込を参照してください。
「グリッド再描画」ボタンを押下することで、Nグリッド部で現在データの編集中であっても、その内容を破棄し、最新のデータを再取得し、Nグリッド部に表示しなおします。
Nグリッド部に該当のオブジェクトの全てのデータが表示されていない場合、「一時的に全データを表示」ボタンが有効になっています。全てのデータが表示されている場合、「一時的に全データを表示」ボタンは無効になっています。「一時的に全データを表示」ボタンを押下することで、一時的に件数制限を無視して全データを取得し表示することが可能です。
「グリッド表示書式指定」ボタンを押下することで、下記のウィンドウが表示されNグリッド 部でのデータの表示書式を変更できます。
整数書式では、int等の型を持つフィールドの値の表示方法を指定します。
不動小数点書式 では、real, double, decimal 等の型を持つフィールドの値の表示方法を指定します。
日付書式では、datetime等の型を持つフィールドの値の表示方法を指定します。
グリッド表示フォント指定 では、Nグリッド 部全体の表示を行う時のフォントを指定します。
「決定」ボタンを押下することで、指定の値が反映されます。「戻る」ボタンの押下はキャンセルの扱いとなり、設定は反映されません。
このスライダーバーをドラッグし、左右に動かすことでBオブジェクトとLフィールド一覧の表示エリアのサイズを変更することが可能です。
ここでは、メインウィンドウでのテーブル等に対する操作の詳細を説明します
J の各ボタンの機能詳細です。
選択されたオブジェクトのデータを、そのデータを新規に投入する為のinsert 文の形式にして抜き出します。出力先は、クリップボードもしくはファイルです。
複数のオブジェクトの指定が可能です。
Where 句、order 句も指定されたものが適用されます。
制限事項:
² binary, image, varbinary, timestamp の型を持つフィールドは、その値に関わらず常にnullとして出力されます。
² sql_variant の型を持つフィールドは、常に文字列として取り扱い、シングルクォート(‘)をその値の前後に付加します。
² CLRを用いたユーザー定義型の場合、各オブジェクトを.ToString()、.Parse()を用いて文字列に変換したものを出力します。各クラスで .ToString(), .Parse()が適切に実装されていないと正常に動作しない可能性があります。
出力時には下記の形式が選択可能です。
選択肢 |
Delete 文を先頭につける |
フィールドの一覧をつけて作成する |
データをバックアップするスクリプトを先頭につける |
INSERT文生成 |
X |
○ |
X |
INSERT文生成(DELETE文付き) |
○ |
○ |
X |
INSERT文生成(フィールドリストなし) |
X |
X |
X |
INSERT文生成(フィールドリストなしDELETE文付き) |
○ |
X |
X |
INSERT文生成(DELETE文付き、退避付き) |
○ |
○ |
○ |
INSERT文生成(フィールドなしDELETE文付き 退避付き) |
○ |
X |
○ |
出力例: INSERT文生成(フィールドリストなしDELETE文付き) 選択時
SET NOCOUNT ON
GO
delete from [dbo].[MSreplication_options]
GO
insert into [dbo].[MSreplication_options] values ( N'transactional', True, 90, 0, 0, 0 )
insert into [dbo].[MSreplication_options] values ( N'merge', True, 90, 0, 0, 0 )
insert into [dbo].[MSreplication_options] values ( N'security_model', True, 90, 0, 0, 0 )
GO
選択されたオブジェクトのフィールドの一覧を出力します。出力先は、クリップボードもしくはファイルです。
複数のオブジェクトの指定が可能です。
下記の形式が選択可能です。
選択肢 |
フィールド毎に改行する |
フィールド毎にカンマをつける |
フィールドリスト作成 |
X |
○ |
フィールドリスト改行作成 |
○ |
○ |
フィールドリストカンマなし作成 |
○ |
X |
出力例:フィールドリスト改行作成
dbo.MSreplication_options:
optname,
value,
major_version,
minor_version,
revision,
install_failures
選択されたオブジェクトのデータを抽出する為の select 文を生成します。出力先は、クリップボードもしくはファイルです。
複数のオブジェクトの指定が可能です。
Where 句、order 句も指定されたものが適用されます。
出力例:
select
optname,
value,
major_version,
minor_version,
revision,
install_failures
from [dbo].[MSreplication_options]
where major_version = 90
order by optname, value
選択されたオブジェクトの簡易的なcreate 文を生成します。Index やプライマリキー等の詳細な情報は生成しません (完全な定義文が必要な場合、エンタープライズマネージャー等を利用してください) 。
出力先は、クリップボードもしくはファイルです。
複数のオブジェクトの指定が可能です。
同じフィールドを持つ一時的なワークテーブルを生成する場合などに利用することを想定しています。
SQLServer2005で対象がSynonymの場合、Create Synonym 文と Create Table/View 文の両方が作成されます。
下記の形式が選択可能です。
選択肢 |
オブジェクトのdrop文をつける |
簡易定義文生成 |
X |
簡易定義文生成 DROP文付き |
○ |
出力例:簡易定義文生成 DROP文付き
DROP TABLE [dbo].[MSreplication_options]
GO
Create table dbo.MSreplication_options (
optname sysname COLLATE Japanese_BIN NOT NULL,
value bit NOT NULL,
major_version int NOT NULL,
minor_version int NOT NULL,
revision int NOT NULL,
install_failures int NOT NULL
)
Go
選択されたオブジェクトのデータをCSV形式もしくはTAB区切り形式にて出力・取込します。
先頭行には必ずフィールド名が出力されます。出力先は、クリップボードもしくはファイルです。
複数のオブジェクトの指定が可能です。
Where 句、order 句も指定されたものが適用されます。
TAB区切りの場合、(エクセルの機能により)そのままエクセルシートに貼り付けることが可能なので、TAB区切でクリップボードに出力して、そのままクリップボードの内容をエクセルシートに貼り付けることで、ファイルを経由せずにエクセルにデータの転記が可能になります。
制限事項:
² sql_variant型のフィールドは、常に文字列として取り扱います。
² binary、image、varbinary、timestamp 型のフィールド値の場合、その値を16進数に変換して出力します。
² CLRを用いたユーザー定義型の場合、.ToString()した結果を出力します。
下記の形式が選択可能です。
選択肢 |
フィールド区切り文字 |
文字列のダブルクォート付き出力 |
CSV形式 |
カンマ |
X |
CSV形式("付き) |
カンマ |
○ |
Tab区切出力 |
TAB |
X |
Tab区切出力("付き) |
TAB |
○ |
出力例: CSV形式("付き)
optname,value,major_version,minor_version,revision,install_failures
"merge",True,90,0,0,0
"security_model",True,90,0,0,0
"transactional",True,90,0,0,0
選択されたオブジェクトに対しCSV形式もしくはTAB区切り形式にてデータを一括読込します。この処理は単一オブジェクトを選択している場合にのみ、有効です。
実行時にはWhere 句、order 句は無視されます。
読込機能を選択後、クリップボードからそのデータを読み込むかどうか聞かれます。
クリップボードからデータを取り込む場合は、「はい」を押下します。ここで「いいえ」を押下した場合は、ファイル指定ダイアログが表示されますので、ファイルを指定し、そのファイルから読込を行います。
クリップボードに認識可能な文字が読み込まれていない場合、次のダイアログが表示されます。
このダイアログが表示された場合、クリップボードの内容を確認してください。画像等の文字に変換できないものは取込できません。
次に、先頭行の扱いを指定します。
下記のダイアログが表示されますので
先頭行を見出しとして取り扱い、スキップする場合は、「はい」を、先頭行もデータとして取り扱う場合は「いいえ」を押下してください。
この後、値の読み込みを開始します。
一旦全件を読み込み、項目数や文字種別などのチェックを行った後、全てのデータが受け入れ可能と判断された場合、
のようにダイアログが表示され、件数が表示されます。ここで「はい」を押下することで、初めてデータベースに登録を行います。(それまではデータベースには書き込まれません)。
また一件でもエラーとなるデータがある場合も、全てのデータの取込は行われません。
制限事項:
² オブジェクトの項目数と、読込データの項目数は同じでなければいけません(省略できません)
² CLRを用いたユーザー定義型もしくはバイナリデータがあるオブジェクトは読み込み対象に指定できません(varbinaryやimage型など)
² Identity列(番号が自動的に付番されるフィールド) を持つオブジェクトは読み込み対象に指定できません
² View を選択している場合でも、読込処理は実施されますが、当然ながら更新可能なVIEWである必要があります。更新可能なVIEWでない場合、エラーになるので注意してください。
選択されたオブジェクトのINDEXの情報を別ウィンドウ(下記)に表示します。
単一のオブジェクトが選択されている時のみ表示可能です。
INDEXの名称、属性、関連フィールドとその順序が表示されます。
このウィンドウが表示されていても、メインウィンドウの操作は可能です
「常にTOPに表示」 チェックボックスをチェック状態にすることで、このウィンドウが常に最前面に表示されます。各オブジェクトのINDEXを連続して確認したい場合などに利用できます。
選択されているオブジェクトに関係なく、select 以外のSQL文を直接実行できます。
ちょっとしたupdateやdelete, create,drop文等、クエリアナライザを立ち上げずに実行できます。
ただし、一文で終わるSQL文のみが指定可能です。(クエリアナライザで利用するような “GO” は記述しないでください。ただし、セミコロンでつなげたSQL文は可能です)
下記のウィンドウが表示されるので、ここで実行したいSQL文を指定します。
ストアドプロシージャー等で、その処理結果の件数がわかるようなクエリ実行については、「戻り値あり」のチェックボックスにチェックをつけることで、その戻り値を別ダイアログに表示します。チェックがついていない場合、影響を受けたデータ件数を別ダイアログに表示します。
※ 「戻り値あり」のチェックボックスについては、正確に指定してください。戻り値がないにもかかわらず 戻り値をあり として指定するとエラーになってしまいます。戻り値があるかないかわからない場合、戻り値はないものとして指定してください。
「履歴引用」ボタンを押下することにより、過去の入力履歴から入力値を引用できます。
入力履歴の表示画面では、下記のダイアログが表示されます。
この画面では、一覧部分から単一選択を実施し、決定もしくはダブルクリックもしくはエンターキーの押下により、選択された文字列(履歴列に表示されている内容)が元の画面にセットされます。
この画面では複数行の文字列は見難くなっていますので、「履歴拡大表示(Z)」ボタンを押下することで、履歴の値を複数行で表示することができます。
また、この履歴は、次回の起動時にも記憶しています。削除する場合は、履歴一覧の画面から「履歴消去(L)」ボタンを押下することで全ての履歴を一括して削除することができます(個別削除はできません)。
SQLSERVER2000の場合、クエリアナライザを起動します。SQLServer2005以上の場合は当ボタンは表示されません。
接続先は、現在当ツールで接続しているサーバー、データベースが対象です。
自動的にログイン処理、データベースの選択まで完了した状態で起動します。
SQLのプロファイラを起動します。
接続先は、現在当ツールで接続しているサーバー、データベースが対象です。
自動的にログイン処理まで完了した状態で起動します。すぐにトレースが開始されます(各種設定はディフォルト値になるので、必要に応じプロファイラ上で変更してください)。
制限事項:
² SQL Server2000の場合、接続先がローカルマシンでない場合にはSQLプロファイラが正常に接続できない場合があります(SQL SERVERのプロファイラの問題なので当ツールでは対処できません)
SQL SERVER 2000の場合エンタープライズマネージャーを起動します(自動的な接続は行いません)。SQLServer2005以上の場合はSQL Server Management Studio を起動します(自動的にログイン処理、データベースの選択まで完了した状態で起動します)。
接続先は、現在当ツールで接続しているサーバー、データベースが対象です。
選択されたオブジェクトの他のオブジェクトとの依存関係の情報を出力します(各オブジェクトに対しsp_dependsを実行した結果です)。出力先は、クリップボードもしくはファイルです。
複数のオブジェクトの指定が可能です。
書き出し項目は
オブジェクト名,依存関係先名称,種類,更新あり,selectでの利用,従属性が存在する列またはパラメータ
となります。
選択されたオブジェクトが他から参照されている場合は、
オブジェクト名,依存関係先名称,種類 までのフィールドだけのデータが出力されます。
他を参照している場合、全てのフィールドのデータが出力されます。
出力例:
オブジェクト名 依存関係先名称 種類 更新あり selectでの利用 従属性が存在する列またはパラメータ
dbo.sysconstraints dbo.sysobjects system table no no status
dbo.sysconstraints dbo.sysobjects system table no no parent_obj
dbo.sysconstraints dbo.sysobjects system table no no id
dbo.sysconstraints dbo.sysobjects system table no no xtype
dbo.sysconstraints dbo.sysobjects system table no no info
選択されたオブジェクトのデータ件数を出力します。出力先は、クリップボードもしくはファイルです。
複数のオブジェクトの指定が可能です。
選択したオブジェクト毎にデータ件数を集計して出力します。
Where 句も指定されたものが適用されます。
データ件数があまりに多い場合、件数を取得するクエリの実行がタイムアウトする可能性がありますので注意して下さい。
出力例:
オブジェクト名,データ件数
[dbo].[sysdtslog90],0
[dbo].[sysdtspackagefolders90],2
[dbo].[sysdtspackagelog],0
上記の「データ件数出力」の簡易表示版です。出力先は別ウィンドウに表示される点が異なります。
選択されたオブジェクトのデータ件数を出力します。出力先は別ウィンドウ(後述)に表示されます。複数のオブジェクトの指定が可能です。
選択したオブジェクト毎にデータ件数を集計して出力します。
Where 句も指定されたものが適用されます。
データ件数があまりに多い場合、件数を取得するクエリの実行がタイムアウトする可能性がありますので注意して下さい。
結果表示ダイアログ
オブジェクト名、データ件数が表示されます。
「クリップボードにコピー」ボタンを押下することで、一覧上のデータがTAB区切形式でクリップボードにコピーされます。
選択されたオブジェクトの統計情報を更新します。結果の出力などは行われませんので、別の手法にて確認して下さい。
複数のオブジェクトの指定が可能です。
内部的には、 UPDATE STATISTICS tablename
を実行します。
選択されたオブジェクトの名称を引数とした、各種クエリが実行できます。
複数のオブジェクトの指定が可能です。
複数もしくは単一のオブジェクトを選択し、「各種コマンド実行」を選択すると、下記のウィンドウが表示されます。
ここで、{0} の所が実行時に、選択したオブジェクトの名称に変わりますので、オブジェクトを対象に実行したいクエリを指定します。
例:
truncate table {0}
を指定すると、選択したオブジェクトに対し truncate Table が実行されます。
たとえば dbo.AAA テーブルのみを選択している状態では、
truncate table dbo.AAA
がクエリとして実行されます。
ここで、「戻り値あり(R)」のチェックボックスをチェックすると、各クエリの結果を、グリッドに表示します。
なお、当機能においては、各クエリが対象としているオブジェクトの内容などはチェックしていません。
たとえば、テーブルに対してのみ実行可能なクエリを View を選択して実行した場合、エラーになります。
また、先にあげたように、データを全て削除したり、オブジェクト を削除することも(権限があれば)可能ですので、利用に際しては十分に注意してください。
当機能でも、「履歴引用」ボタンを押下することにより、過去の入力履歴から入力値を引用できます。
入力履歴の表示画面では、下記のダイアログが表示されます。
この画面では、一覧部分から単一選択を実施し、決定もしくはダブルクリックもしくはエンターキーの押下により、選択された文字列(履歴列に表示されている内容)が元の画面にセットされます。
この画面では複数行の文字列は見難くなっていますので、「履歴拡大表示(Z)」ボタンを押下することで、履歴の値を複数行で表示することができます。
また、この履歴は、次回の起動時にも記憶しています。削除する場合は、履歴一覧の画面から「履歴消去(L)」ボタンを押下することで全ての履歴を一括して削除することができます(個別削除はできません)。
選択されたオブジェクトの詳細情報を表示します。
SQL Server 2000 の場合は下記の項目です
SQL Server 2005以上 の場合はシノニムに関する情報も追加されます
ともに「クリップボードにコピー」ボタンを押下することで、表示している内容をTAB区切形式でクリップボードにコピーします。
フィールド名やテーブル名、VIEW名を対象に、指定した文字を含んだオブジェクトを検索します。
検索する対象の名前を入力します。(ここではSchema/owner/Role名は指定しません)
・ 「表示中のスキーマのみ対象」にチェックが入っていた場合、ASchema/owner/Role で選択されているSchema/owner/Roleに属するオブジェクトのみが検索対象になります。
・ 検索対象は フィールド名、テーブル名、View名、Synonym名(SQL Server 2005以上の場合のみ)のいずれかです。
・
検索方法に 曖昧検索を指定した場合、指定した名前を含むものが対象になります
前方一致を指定した場合、指定した名前ではじまるものが対象になります
完全一致を指定した場合、指定した名前と完全に一致するものが対象になります
・ 「大文字小文字を区別する」にチェックした場合、検索時に大文字小文字を区別します。チェックをはずすと、大文字小文字を区別しません。
・ 検索結果はクリップボードにコピーされます。
・ 「検索結果を元にオブジェクトを選択する」にチェックが入っていた場合、検索結果を指定オブジェクト選択ダイアログ(後述)に初期表示します。
「履歴引用」ボタンを押下することにより、過去の入力履歴から入力値を引用できます。
入力履歴の表示画面では、下記のダイアログが表示されます。
この画面では、一覧部分から単一選択を実施し、決定もしくはダブルクリックもしくはエンターキーの押下により、選択された文字列(履歴列に表示されている内容)が元の画面にセットされます。
この画面では複数行の文字列は見難くなっていますので、「履歴拡大表示(Z)」ボタンを押下することで、履歴の値を複数行で表示することができます。
また、この履歴は、次回の起動時にも記憶しています。削除する場合は、履歴一覧の画面から「履歴消去(L)」ボタンを押下することで全ての履歴を一括して削除することができます(個別削除はできません)。
選択されたオブジェクトに関係なく、select 文を指定して、その結果をNグリッド部に表示します。
ただし、ここで指定した結果がNグリッド部に表示されていた場合でも、その他の処理(insert文生成など)は、ここで指定したselect文に関係なく選択されたオブジェクトに対して実行されるので注意してください。
実行したいselect 文を入力し、「SQL実行」ボタンを押下することで、その結果が、Nグリッド部に表示されます
「履歴引用」ボタンを押下することにより、過去の入力履歴から入力値を引用できます。
入力履歴の表示画面では、下記のダイアログが表示されます。
この画面では、一覧部分から単一選択を実施し、決定もしくはダブルクリックもしくはエンターキーの押下により、選択された文字列(履歴列に表示されている内容)が元の画面にセットされます。
この画面では複数行の文字列は見難くなっていますので、「履歴拡大表示(Z)」ボタンを押下することで、履歴の値を複数行で表示することができます。
また、この履歴は、次回の起動時にも記憶しています。削除する場合は、履歴一覧の画面から「履歴消去(L)」ボタンを押下することで全ての履歴を一括して削除することができます(個別削除はできません)。
複数のオブジェクト を一括して選択状態に変更できます。
この機能はBオブジェクト の右クリック時のメニューからのみ起動可能です。
ここでは、一つのオブジェクトを一行にし、複数指定する場合は複数行にして選択状態にしたい対象のオブジェクト名を記載します。
オブジェクト名は owner.objectname の形式で指定します。
区切り文字として
・ タブ(\t)
・ カンマ(,)
・ コロン(:)
・ セミコロン(;)
を認識し、第一カラムに指定されたものをオブジェクト名として処理します。
[]のあるなしにかかわらず指定可能です。
決定ボタンを押下することで、指定されたオブジェクトがBオブジェクト 上にあれば、それを選択状態にします。ない場合はなにもしません。
一旦オブジェクトを選択し、そのフィールド等を表示すると、その情報は当ツール内に終了時まで記憶されます。
最初オブジェクトを選択しフィールドやそのデータを表示した後に、DB上で構成が変更された場合など、自動的に読み込むことは行いません。
そのような場合、当機能を起動することで、DBからフィールド等の情報を最新の状態に更新することが可能です。(単にグリッドに表示しているデータの内容を更新するだけの場合には、Oグリッド操作部 の「グリッド再描画」を利用して下さい)
この機能はBオブジェクト の右クリック時のメニューからのみ起動可能です。
・当プログラムはMDI形式で作成されています。結果、複数の接続先に同時に接続できます。各サーバーに対する接続は一つのウィンドウに閉じられます。
当然ながら複数サーバーに接続し、その間を切り替えながら作業を進めることも可能です。
ウィンドウの切り替えは コントロールキー+TABで行うか、メニュー「ウィンドウ」で指定することで切り替わります。
・
「最新バージョンのチェック」を選択することで、一次配布先に現在利用しているバージョンより新しいものが公開されていないかをチェックします(HTTPを利用しています) 。The
Internet に正常に接続している必要があります。また現バージョンではプロキシや SOCKSには対応していません。
自動的に最新プログラムのダウンロードなどは行いませんので、必要に応じて手動で最新版を入手するようにして下さい。
・ プログラムと同じ場所に、quickDBExplorer.xml というファイルが作成されます。これには前回接続時の情報が記録されます。このファイルを削除した場合、前回までの接続情報はなくなりますので注意してください。
・ 裏機能として、DB選択エリアの「DB(B)」のラベルをダブルクリックすることにより、
や
のようなダイアログを表示し、内部的に実行する SQL クエリのタイムアウト値を 300秒(規定値)と無限の間をトグルして切り替えることが出来ます。
スキーマ名のラベル
をダブルクリックすることで、owner/Role/schema
の情報を読み込みしなおします。
同様に、オブジェクトのラベル
をダブルクリックすることで、オブジェクトの一覧を取得しなおします。
また、Aliasのラベル
をダブルクリックすることで、オブジェクト一覧を単一選択している場合、そのオブジェクト名をAlias の項目としてセットします。
Copyright (C) 2004-2009 Y.N(godz)
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
このプログラムはフリーソフトウェアです。あなたはこれを、フリーソフトウェ
ア財団によって発行された GNU 一般公衆利用許諾契約書(バージョン2か、希
望によってはそれ以降のバージョンのうちどれか)の定める条件の下で再頒布
または改変することができます。
このプログラムは有用であることを願って頒布されますが、*全くの無保証*
です。商業可能性の保証や特定の目的への適合性は、言外に示されたものも含
め全く存在しません。詳しくはGNU 一般公衆利用許諾契約書をご覧ください。
あなたはこのプログラムと共に、GNU 一般公衆利用許諾契約書の複製物を一部
受け取ったはずです。もし受け取っていなければ、フリーソフトウェア財団ま
で請求してください(宛先は the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA)。