任意の開発言語用のコード生成やコード除去、テーブル比較、テーブルコピー機能
その他の機能 アプリ全体のツールメニュー
■コード生成
開発言語にあわせて、SQL文の前後に文字列を付加して、コードを生成したり、逆にコードからSQL文だけを取り出します。VSやDelphiのデバック画面からコピーした制御コード付きSQLから制御コードも取り除きます。
■機能の説明
コード生成 |
元のSQL文の行頭及び行末に指定した文字列を追加します。一行目と2行目以降は別々に文字列を設定します。 |
'2重化 |
「'」を2重化します。 |
"2重化 |
「"」を2重化します。 |
元コード表示 |
元のSQL文を表示します。 |
整形 |
SQLを整形します。 |
コード除去 |
エディタなどから貼り付けたコードの行頭、行末から指定された文字列を除去します。一行目と2行目以降は別々に文字列を設定します。なお、DelphiやVSのデバッカからSQLをとってきた場合に挿入される制御文字もついでに除去します。 |
'1重化 |
「'」を1重化します。 |
"1重化 |
「"」を1重化します。 |
:を@へ |
パラメータクエリの識別子「:」を「@」に置換します。 |
@を:へ |
パラメータクエリの識別子「@」を「:」に置換します |
※以上の文字列置換は構文解析しない単純置換ですので、値としての文字列も変換しちゃいます。
■↑コード除去↓コード生成 相互に変換可能
■データ比較
2つのテーブルの差分を表示します。 データのコンボボックスにはMDIの各データが表示されますので、DB間にまたがった比較も可能です。
■比較設定
比較対象フィールドを指定できますので、更新日時などを除外して比較できます。
■比較結果
比較の方法には以下の2つがあります。
・単純比較 |
・・・ |
レコードの頭から順番に同じ行位置のレコードを比較します。 行単位の単純な比較です。 |
・キー比較 |
・・・ |
指定したキーが一致するレコード同士を比較します。 同じキーをもつレコードでグルーピングして比較します。 |
差分データはExcelに出力できます。
■外部ツールで比較表示することもできます。データをCSV出力して差分ツールに渡しているだけですけどね。差が見やすくていいかも...。
■DB間テーブルコピー
2つのDB間でテーブルのコピーを行います。この画面には2つのモードがあり、一つはテーブル一括モードで、もうひとつは単テーブルモードです。
※この機能は使い方を誤ると確実にデータを破壊します。って言うか、そういう物なので、必ず事前に正常に機能するか確認の上ご利用ください。必要ならバックアップを取るなど自己防衛してくてください。
■テーブル一括モード
コピーのルール:
・既存の同じテーブル名のデータを対象とします。
・コピー先のデータは全削除します。
・同一のフィールドだけコピーします。
・一覧でチェックボックスがグレイのテーブルを対象とします。
・成功した場合は、グレイがチェックに変わります。
・トランザクションを開始しない場合、テーブル単位でコミットします。
・途中で失敗しても最後まで実施します。
■単テーブルモード
コピーのルール:
・指定されたテーブル名のデータを対象とします。
・コピー先のデータは全削除します。
・指定されたフィールド名対応に基づきコピーします。
■操作手順:
1.コピー元とコピー先の接続を選択します。
2.ADOにより任意の接続文字列を使用する場合は、接続のコンボボックスの一番上「ADO接続文字列(左記)」を選択し接続文字列を入力します。
(「設定」ボタンで接続文字列を作成できます。)
3.接続をクリックし、クリックしテーブル一覧を取得します。(コピー元から取得します。)
・テーブル一括モードの場合
3.コピー元テーブル一覧で対象を選択します。(グレイのチェックが対象です。)
4.「コピー実行」をクリックします。必要に応じてトランザクションをスタートしてください。
・単テーブルモードの場合
3.コピー元とコピー先のフィールド対応を指定します。
4.「コピー実行」をクリックします。必要に応じてトランザクションをスタートしてください。
※コピーの実際について
この画面で行われるコピーの手順は以下の通りです。
1.コピー先のDBへTRUNCATE TABLE文が発行され、エラーならはDELETE文が発行される。
2.コピー元からデータをセレクト。
3.空のデータセットに行を追加し値をセット。
4.コピー先にInsert。
このとき、値のコピーはバリアントで行われるため、型違いであっても可能なら、良きに計らってくれます。
※バルク実行モードについて
UniDAC接続の場合に使用可能です。
DBがバルクインサートをサポートしている場合は、バルクインサートを使用して高速にコピーします。
バルク実行モードでは右図のような設定が可能になります。
※DBがバルクインサートをサポートしていない場合に、バルク実行モードを指定しても普通のINSERT文が発行されるだけです。
|