
システム開発をしているときに、さまざまなデータベースと接続しながらSQLを書くことはありませんか? よく現場ではSQL実行ツールを接続先を変更しながら動かしているケースがございますね。
実はDr.SumはフリーのSQL実行ツールからもSQLが書けるようになりました。A5:SQL Mk-2、Squirrel SQL、DBeaver、CSEなどいろいろありますが、DBeaverはJavaベースなのでJDBCドライバーの配置が簡単なのと、Windows、Mac、 Linuxで動作するので個人的にオススメです。
ということで今回はDBeaverとDr.Sumを接続とA5:SQL Mk2とDr.Sumの接続をそれぞれ紹介してみたいと思います。
前提
フリーのSQL実行ツールと接続するためにはDr.Sumのバージョンのチェックが必要です。ご自身のDr.Sumのバージョンが「5.6.00.1020」以降であることをご確認ください。
DBeaverとDr.Sumの接続
DBeaverのセットアップ手順
セットアップをするためには以下の手順が必要です。
-
DBeaverをダウンロード(https://dbeaver.io/download/)してインストールします。
-
Dr.Sum JDBC Driver(dwodsjd4.jar)を適当なフォルダーに配置します。
JDBC Driverは [Dr.Sumインストールフォルダ]¥DevKit¥java¥jdbc¥dwodsjd4.jar にあります。
-
DBeaverを起動し、[データベース]>[ドライバーマネージャー]を開いて[新規]をクリックします。タブ[設定]の欄[ドライバ名]に任意の名称を入力します。
タブ[ライブラリ]の[ファイルを追加]をクリックし、2で配置したdwodsjd4.jarを選択し、[OK]をクリックして一度保存します。

- 保存したドライバーをダブルクリックして開きます。
タブ[ライブラリ]を開き、[クラスを見つける]をクリック、検索されたドライバクラスをクリックします。
[ドライバクラス]欄に「jp.co.dw_sapporo.JDBC.JDBCDriver」が入力されていることを確認のうえ[OK]をクリックし、ドライバーマネージャーを閉じます。
- [データベース]>[新しい接続]を開きます。
設定したドライバーを選択して「次へ」をクリックします。
[JDBC URL]に「jdbc:dwods:[host]:[port]:[db]」を入力します。
入力例(オンプレの場合) jdbc:dwods:localhost:6001:SALES
入力例(クラウドの場合) jdbc:dwods:localhost:7001:SALES
[ユーザー名]にユーザーIDを入力し[テスト接続]をクリックします。
クラウド環境を利用の場合でも、”localhost”と記載することがポイントです。これはローカル環境のSecure Transport Agentを指定するので、localhostとする必要があるのです。
接続は以上で終了です。下図のような画面が出ましたら接続成功です。

SQLエディタを起動して実際にSQLを書いてみましょう。SQLアシスト、タブ切り替えなど、便利な機能満載です。

A5:SQL Mk2とDr.Sumの接続
A5:SQL Mk2のセットアップ手順
続いてA5:SQL Mk2との接続の手順を紹介します。
事前にDr.Sum Development Kitをインストールして、ODBCデータソースを設定します。

A5:SQL Mk2のセットアップ手順
1.A5:SQL Mk2をダウンロード(https://a5m2.mmatsubara.com/)してインストールします。
2.A5:SQL Mk2を起動し、[データベース]>[データベースの追加と削除]を開いて[追加]ボタンをクリックし、汎用接続の「ADO (OLE DB, ODBC)」を選択します。
3.接続文字列のブラウズをクリックし、OLE DBプロバイダーで「Microsoft OLE DB Provider for ODBC Drivers」を選択し次へ進みます。

4.ODBCデータソースで設定したデータソースを選択します。

5.接続テストを実行します。成功したら[OK]をクリックしてプロパティを閉じます。

6.接続文字列に「MaxVarcharSize=4000」を追加します。
接続文字列の例「Provider=MSDASQL.1;Persist Security Info=False;Data Source=Dr.Sum;MaxVarcharSize=4000」

MaxVarcharSize=4000の指定がないと、SQL実行時にエラーが発生するので必ず追加してください。

7.[閉じる]を押します。

注意事項
- オブジェクトツリーからは直接データを開けません。
オブジェクト名が「”」で囲まれてしまうので、Dr.Sumではエラーになります。(囲み文字は設定できません)
手入力でSQLを実行してください。

※※※ 2024/1/12 追記 ※※※
Version 2.19.0 beta 27からクォート文字の設定が可能になりました。
https://a5m2.mmatsubara.com/beta/
この対応のおかげでクォート文字を(なし)にすることができ、そのように設定するとオブジェクトツリーから開けます!
念願のオブジェクトツリー、感動です!

- SQLを実行すると、Dr.Sumで必ず以下のエラーが発生しますが、実行自体は成功するので特に影響はありません。(回避方法は不明)
parsing SQL was failed at character 23.(SELECT INVALID SELECT ===>>>S<<<=== TATEMENT TO FORCE ODBC DRIVER TO UNPREPARED STATE)@LSQLAnalyzer::ParseError@LSQLAnalyzer::AnalyzeSQL@SQLA@SQL_Translate3@DBM_Execute@DBM_Execute@DWPyDBM::Execute
- MaxVarcharSize=4000の指定がないため、64Bit ODBCシステムデータソースは直接使えません。
OLE DB Providerで接続文字列に追加して接続してください。
以上を注意していただければ、快適にA5:SQL Mk2がしようできると思います!
さいごに
開発者としてはもちろんDr.SumのSQL Executorを使って欲しいですが、現場には様々なニーズがあると思いますので、フリーのツールも使えることを紹介させていただきました。
SQL Executorの機能もどんどん進化していきますので、また紹介をさせてください。