はい。タイトルの通りです。A5:SQL MK-2をH2につなげてみようというお話。
基本的な流れは
H2 Database Engine (H2DB) の環境構築
に詳しいので、補完する感じで。
ポートの話
H2をサーバモードで立ち上げると、TCPモード、PostgreSQLモード、Webモードの3つのモードがいっぺんに立ち上がるようです。TCPもーどはH2本来のモードかな?PostgreSQLモードはPostgreSQLのふりをするモード、Webモードはコンソール用のモードですね。
それぞれポートは
TCPモード:9092
PostgreSQLモード:5435
Webモード:8082
あたりを使うようです。今回のお話のメインはPostgreSQLモードなのですが、PostgreSQLのODBCドライバのインストール時に本体まで入れてしまうと、ポートがバッティングするんじゃないかな。本体の方は自動起動でサービスになっているので、起動しないようにしておいた方が無難だと思います。
コンピュータの管理→サービス→postgresql-x64-xxを手動にして停止させればよいかと。
もちろんPostgreSQLが必要な場合は起動しなければなりませんけれど。
ODBCドライバの話
A5:SQL MK-2はODBC経由で接続できるのですが、残念ながらJDBC経由では接続できなさそうです。Javaで作られていれば逆にJDBCではつながるけどODBCではつながらないとかになるので、どっちがいいのかよくわかりません。で、H2は専用のODBCドライバを作る代わりに、PostgreSQLのODBCドライバを借りるという手段を取りました。
これまた、いいんだか悪いんだか。
先に上げたページにもあるのですが最新版は接続エラーになります。なんかね、接続時の初期化コマンドにH2が知らないPostgreSQL独自の命令が入っているみたい。なので昔のドライバが必要なのですが、リンクが切れてます。
今はここらしいです。これもそのうちリンク切れるんだろうなぁ。メンテとか嫌だなぁ。
なので、リンクが切れていたら自分で探してみてください。
PostgreSQL ODBCドライバ psqlodbc_09_02_0100-x64.zip
あたりでググれば見つかるんじゃないかな。
接続ユーザのパスワード
ODBCの接続でユーザのパスワードがないと蹴られます。パスワードは必須みたいです。
これをなんとかする手は2つあって、一つはsaにパスワードを設定する。もう一つは新たにユーザーを作ってしまう。Webコンソールでは接続できている筈なので、そこからSQLを叩きましょう。各自調べてね♪
とか書いて終わろうかと思ったんですが、ケチ臭いのでSQLコマンドのイメージだけ書いておきます。
パスワードの追加:alter ユーザ名 set password ‘パスワード’
ユーザの作成:create user ユーザ名 identified by ‘パスワード’
こんな感じだった筈。TYPOがあったらゴメンナサイ。ついでなのでコマンドの詳細とか調べておくとよいよ。
以上、取り急ぎA5:SQL MK-2をH2につなげる、でした。
《2024/07/28 07:37:45》