index

Excel上で動作する手軽なデータベース操作ツール

「Excel-addin.dbtalk」は開発者向け汎用*1のデータベース操作ツールです。
Excelアドインとしてデータベース上のデータ閲覧・更新を実現、導入もExcelメニューのツール-アドインからファイルを指定するだけで簡単に行えます。
Excel単体で完結するダイレクトな操作感、ラフな抽出からExcelフィルタを駆使しての再絞込みなど、
Excelをベースに据えた使い勝手は他ツールとの一線を画します。

このサイトでは「Excel-addin.dbtalk」の操作方法などについて解説しています。

汎用のデータベース操作ツール「Excel-addin.dbtalk」最新版ダウンロードについてはこちら。

操作方法

データベースへの接続

メニューから「接続/切り替え」を選択します。

menu_connect.jpg

「接続/切り替え」フォームが表示されます。
「新規」ボタンを押下します。

connection_choose.jpg

「OLE DBプロバイダ」を選択します。
この例ではODBCドライバ経由の設定を採用しています。*2
「次へ」ボタンを押下します。

connection_choose2.jpg

データソース、ユーザー名、パスワードを指定します。
必要に応じ「パスワードを保存する」チェックボックスをオンにします。
「OK」ボタンを押下します。

connection_choose3.jpg

必要に応じ「名称」を変更します。
「接続」ボタンを押下します。

connection_choose4.jpg

パスワードを保存しない設定の場合、「ログイン」フォームが表示されます。
ユーザー名、パスワードを入力し「OK」ボタンを押下します。

login.jpg



  • あらかじめOLE DBドライバ(ODBCドライバでも可)をインストールしておく必要があります。各データベースの公式サイトなどから入手可能です。
  • 接続から10分間放置すると自動的にデータベースから切断状態となります。

データの抽出

データを抽出するにはまずテーブルの一覧を取得する必要があります。
メニューから「テーブル一覧の取得」を選択します。

menu_tablelist.jpg

テーブル一覧が出力されます。
必要に応じ抽出条件やソート条件を指定します。
"where"や、"order by"を含めて記述してください。
ソート条件を指定しない場合、主キーによるORDER BY句が補完されます。

tablelist.jpg

対象のテーブルを含む行(列は任意)を選択し、メニューから「データの抽出」を選択します。
複数行の選択が可能です。

menu_data_extract.jpg

テーブル名のシートにデータが出力されます。

table.jpg

テーブル名のシートをアクティブにし、メニューから「データの抽出」を選択した場合でも同様にデータの抽出が可能です。
必要に応じ「抽出条件(WHERE句など):」に抽出条件やソート条件を指定します。
"where"や、"order by"を含めて記述してください。
メニューから「データの抽出」を選択します。
この場合「データの抽出」フォームが表示されます。
「抽出」ボタンを押下します。

data_extract.jpg


項目説明
1「抽出」ボタン「抽出条件(WHERE句など):」に指定の条件でデータを再抽出します。
2「選択抽出」ボタン選択セルのデータを再抽出します。複数セルの選択が可能です。



  • プログラムにより作成されたシート(テーブル名のシートなど)の削除、コピー、リネームは、いつでも問題なく実施可能です。
  • 抽出結果が6万件を超過した場合、表示は打ち切られます。条件を指定し件数を調整してください。
  • データ型名には汎用的な名称を採用しているため、実際の名称とは異なります。
  • 大きいデータの抽出時、オートメーションエラーとなる場合があります。これはExcelによる一括データ処理時、1セルあたりの文字数に上限があるためです。
    Excel各バージョンごとの上限文字数は、Excel2000:914文字、Excel2002/2003:911文字、Excel2007:8203文字となります。
    (処理可能文字数であり、通常のセル入力文字数ではありません。)

データの操作(データベースへの反映)

テーブル名のシート上で、更新対象の行(列は任意)を選択します。
複数行の選択が可能です。

table2.jpg

メニューから「データの操作」を選択します。

menu_data_operate.jpg

「データの操作」フォームが表示されます。
目的に応じたボタンを押下します。

data_operate.jpg


コントロール説明
1「更新」ボタン選択レコードを更新します。
すべての列を更新します。
主キーが存在しないテーブルでは無効化されます。
2「挿入」ボタン選択レコードを挿入します。
3「削除」ボタン選択レコードを削除します。
シート上からは削除されません。
主キーが存在しないテーブルでは無効化されます。
4「選択更新」ボタン選択セルのみを更新します。複数セルの選択が可能です。
主キーが存在しないテーブルでは無効化されます。
5「データは操作せずにSQLのみ作成」チェックボックスSQL作成機能を提供します。
押下ボタンに応じたSQLを作成し、クリップボードに転記します。データベースに対する操作は行われません。



  • 更新系の処理は自動的にコミットが発行されますが、エラーの場合はロールバックされます。
    トランザクションの単位はボタン押下毎です。


SQL入力フォーム

メニューから「SQL入力フォーム」を選択します。

menu_sql.jpg

「SQL入力」フォームが表示されます。
SQLを入力します。
複数のSQL文を記述可能です。「SQL終端」プルダウンでSQLの終端となる区切り文字を指定できます。
「実行」ボタンを押下します。

sql.jpg



  • 更新系の処理は自動的にコミットが発行されますが、エラーの場合はロールバックされます。
    トランザクションの単位はボタン押下毎です。

  • プログラムにより作成されたシート(テーブル名のシートなど)の削除、コピー、リネームは、いつでも問題なく実施可能です。
  • 抽出結果が6万件を超過した場合、表示は打ち切られます。条件を指定し件数を調整してください。
  • 「簡易整形」については場合によって意図しない結果となることがあるためご了承ください。
  • データ型名には汎用的な名称を採用しているため、実際の名称とは異なります。
  • 正常に実行されたSQLのみ履歴として保持します。なお、長めのSQLは履歴に残らず破棄される可能性があるためご了承ください。

SQLファイルの実行

メニューから「SQLファイルの実行」を選択します。

menu_sql_file.jpg

SQLファイルを選択します。

file_choose.jpg

ファイルには複数のSQL文を記述可能です。「SQL終端」プルダウンでSQLの終端となる区切り文字を指定できます。
「OK」ボタンを押下します。

sql_file.jpg



  • 最終的にコミットが発行されますが、1件でもエラーが発生した場合は全てロールバックされます。

選択2シートの比較

比較したいテーブル名の2シートを同時に選択します。
双方のシートのデータは主キーにて昇順ソートされていることが前提です。
また主キーが存在しないテーブルは比較できません。

diff1.jpg

メニューから「選択2シートの比較」を選択します。

menu_diff.jpg

「OK」ボタンを押下します。

diff2.jpg

相違箇所が着色されます。

diff3.jpg


ショートカットキー

使用頻度の高い操作にショートカットキーを対応付けています。

操作ショートカットキー特記事項
1データの抽出Ctrl+Qテーブル一覧からの抽出、テーブル名のシートからの再抽出両方に対応します。
2データの操作Ctrl+U-


注意事項

  • タイムスタンプ型のデータが秒の精度に丸められてしまいます。
    特にデータの操作時に問題となる場合があります。
  • 処理速度優先で動作させているため、意図的に抽出しないデータ型があります。(選択抽出では抽出できる場合があります。)
    バイナリ型やラージオブジェクト型などですが、これらは「(fail)」と表示されデータの操作時は無視されます。
  • 文字列型については空文字と区別するためNULLは「(null)」と表示されますが、その他の型は「(null)」の表示はされません。

インストール/アンインストール

配布アーカイブに含まれる「dbtalk.xla」を任意の場所に配置します。
Excelメニューの「ツール」-「アドイン」を選択します。
「アドイン」フォームが表示されます。
「参照」ボタンを押下します。

install1.jpg

「dbtalk.xla」を指定します。

install2.jpg

「アドイン」フォームの「Dbtalk」のチェックを入れ「OK」ボタンを押下します。
以上でインストールは完了です。

install3.jpg

アンインストールの場合は「アドイン」フォームの「Dbtalk」のチェックを外し「OK」ボタンを押下します。
この手順を省略した場合、ツールバーが削除されないのでご注意ください。

uninstall1.jpg

ファイルシステムから「dbtlak.xla」および「dbtalk.ini.xls」を削除します。
再度「アドイン」フォームの「Dbtalk」をチェックすると下記メッセージが表示されるため「はい」ボタンを押下します。
以上でアンインストールは完了です。

uninstall2.jpg


データベース製品固有のメモ

Oracle

  • オラクルClient製品を導入しない(ODACのみ導入)場合、次の接続文字列も設定可。
    <接続先ホスト>:<ポート番号>/<データベースサービス名>

    例:
    oraserver:1521/oradb

MySQL

  • DBMSのデフォルト設定では1SQL文ごとの自動コミットとなっているためご注意ください。
    また、テーブルタイプを明示的に「InnoDB」に指定していない場合、トランザクションが有効になりませんでした。

DB2

  • DB2のOLE DBについて、デフォルトではCHAR型とGRAPHIC型がプログラム上区別されません。
    これを解決するには、DB2構成パラメータ設定ファイルdb2cli.iniの、該当データソースのセクションに次の一行を追加します。
    OleDbReturnCharAsWChar=0

*1 データベース製品の種類を問いません。MDAC(OLE DB、ODBCなど)準拠のドライバが提供されているデータベース製品全てに対応します
*2 Oracleの場合は、「Oracle Provider for OLE DB」を選択します。
「Oracle Provider for OLE DB」は、Oracleクライアントのインストールにより選択可能となります。


添付ファイル: fileuninstall2.jpg 35件 [詳細] fileuninstall1.jpg 33件 [詳細] filetablelist.jpg 37件 [詳細] filetable2.jpg 38件 [詳細] filetable.jpg 37件 [詳細] filesql_file.jpg 38件 [詳細] filesql.jpg 36件 [詳細] filemenu_tablelist.jpg 41件 [詳細] filemenu_sql_file.jpg 46件 [詳細] filemenu_sql.jpg 42件 [詳細] filemenu_diff.jpg 38件 [詳細] filemenu_data_operate.jpg 52件 [詳細] filemenu_data_extract.jpg 49件 [詳細] filemenu_connect.jpg 58件 [詳細] filelogin.jpg 55件 [詳細] fileinstall3.jpg 54件 [詳細] fileinstall2.jpg 59件 [詳細] fileinstall1.jpg 59件 [詳細] filefile_choose.jpg 59件 [詳細] filediff3.jpg 62件 [詳細] filediff2.jpg 60件 [詳細] filediff1.jpg 60件 [詳細] filedata_operate.jpg 60件 [詳細] filedata_extract.jpg 72件 [詳細] fileconnection_choose4.jpg 65件 [詳細] fileconnection_choose3.jpg 79件 [詳細] fileconnection_choose2.jpg 72件 [詳細] fileconnection_choose.jpg 73件 [詳細]

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-05-23 (日) 00:02:30 (106d)