質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Firebird

Firebirdは、オープンソースのリレーショナルデータベース管理システムです。オープンソースとしてBorland社が公開したInterBaseから派生したもので、MGAによる高度なトランザクション管理機能を持ちます。

Q&A

解決済

1回答

1150閲覧

FirebirdでSELECT句等をトレースする方法を知りたい

negitoro

総合スコア14

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Firebird

Firebirdは、オープンソースのリレーショナルデータベース管理システムです。オープンソースとしてBorland社が公開したInterBaseから派生したもので、MGAによる高度なトランザクション管理機能を持ちます。

0グッド

0クリップ

投稿2021/12/01 20:22

実現したいこと・問題

Firebirdを使用したWindowsアプリケーションがあります。
そのWindowsアプリケーションがFirebirdにSELECT句等を実行しているのですが、
どのようなクエリが実行されているかトレースする方法知りたいです。
※Windowsアプリケーションがどのようなクエリを実行しているのかを知りたいのですが、
Widowsアプリケーションのソースが無く、困っています。

試したことと、その結果

後段のURLを参考に以下をコマンドを実行して、Windowsアプリケーションを実行すると、
ログインなどのログは出力されるのですが、SELECT句を実行しても何も出力されません。

fbsvcmgr service_mgr action_trace_start trc_name "My trace" trc_cfg fbtrace.conf

参考URL

バージョン情報

Firebird2.5.9.27139 (32bit版, Classic Server binary)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

SQLトレースはロードマップ上、少なくとも3.0以降だったと思います。
その3.0も予定より遅れていたので、4.0辺りでの実装かもしれません。
リリースノートロードマップで確認して下さい。

追記

リリースノートより以下引用

ユーザートレース・セッションの働き
ユーザーアプリケーションがトレースセッションを開始すると、セッション名(オプション)とセッション設定(必須)が付けられます。セッション設定は、出力の配置に関する行は別として、fbtrace.confをテンプレートとするルールと構文に準拠したテキストファイルです。このファイルはFirebirdのルートディレクトリにあります。

Note
これらのファイルはサーバーには残りません。
ユーザートレースの要求に応えるためテキストの格納と取得にふさわしい仕組みを設計するのは、アプリケーション開発者の仕事になります。

例えば、コマンドラインユーティリティfbsvcmgrは、セーブファイル・パラメータtrc_cfgをサポートします。

上記、強調した部分が順次プラグインで提供されるのではないかと思います。
※Firebirdを実際に使ったことは無いので、あくまで推測ですが。

投稿2021/12/02 02:26

編集2021/12/02 09:32
sazi

総合スコア25138

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

negitoro

2021/12/02 05:03 編集

ご回答ありがとうございます。 リリースノートを確認したのですが、以下URLの「ユーザートレースのサンプル設定テキスト」項を見る限り、バージョン2.5でSELECT句などのSQLトレースが可能であると読み取りました…。 この読み取り方は間違っているでしょうか? https://firebirdsql.org/file/documentation/release_notes/html/ja/rnfb25-trace.html
sazi

2021/12/02 09:20 編集

SQLのトレースはされていても、抽出するツール(プラグイン)の提供がされていないんじゃないかと思います。 なので、トレースファイルのレイアウトを解析して自分で取り出すみたいな事をやらないと駄目な気がします。
sazi

2021/12/02 09:30

トレースファイル自体の確認はされたんですよね?
sazi

2021/12/02 09:35

質問内容を見返すと、SQLトレースが見やすいかどうかは取り敢えず要望としては関係ないんですね。 トレースは負荷になるので、アプリケーションが内部でoffにしている可能性もありますね。
negitoro

2021/12/03 14:21

ご回答ありがとうございます。 確かにアプリケーションが何かしてる可能性もありますね。 トレースファイル自体も確認したのですが、SQLは出力されていないですね。上位のバージョンでトレースできないかも試してみます。 この度はご回答頂き、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問