2020年11月24日火曜日

JavaでAccessのmdbでデータベースアクセスする方法

 Javaでシステム開発するときに、他の人がデータベースの環境構築をする場合、データベースまわりのロジックの動作確認しつつ、開発を進めたいので、データベースはAccessのmdbで代替して開発している、というかしていた。

だって、mdbを新規作成して、デザインビューでテーブルの定義をするだけなので、楽だから。

で、久しぶりにやってみたら動かない。

jdbcodbcドライバーをロードするところで、Exceptionが発生している。

jdbcodbcドライバーをロードする箇所

                           try {
                                          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                            } catch (ClassNotFoundException e) {
                                          e.printStackTrace();
                                          return null;
                            }
Exceptionが発生!!
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
              at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
              at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
              at java.lang.Class.forName0(Native Method)
              at java.lang.Class.forName(Class.java:264)
どうしてだろう、と思い、調査してみると、こちらのサイトを発見。 


どうやらjava7で、jdbcodbcドライバーを使用してのAccessのmdbのアクセスは非推奨。 そして、java8からはできなくなっていたらしい。 また、代替方法もあって、「UCanAccess」というのを使用すればできるとのこと。

まず、以下のサイトからgradleの設定情報をローカルのbuild.gradleの定義に設定する。


build.gradleに設定する定義情報
// https://mvnrepository.com/artifact/net.sf.ucanaccess/ucanaccess
compile group: 'net.sf.ucanaccess', name: 'ucanaccess', version: '5.0.0'
そして、次のようにmdbファイルのパスを引数にして、コネクションを取得してデータベースアクセスできる。
                   Connection conn = null;

                   try {
                            conn = DriverManager.getConnection("jdbc:ucanaccess://D:/dbarea/db.mdb");
                   } catch (SQLException e) {
                            e.printStackTrace();
                   }

2020年5月25日月曜日

VANDENBERG 2020

VANDENBERGの新譜が届いた。
聞いた感想を簡単に言うと、「円熟味ある心地良いロック」
個人的に期待していた80年代の時のような、VANDENBERG独特のヨーロッパとアメリカがメロディーが混ざったようなものではなかった。
だけど、悪くはないけど、まぁーこれもいいかな。って感じだ。
ただ、既に3回も聞いているので、聴き込んでいくうちに、外せなくなる名盤かもしれない。
そういえば、Rush、Scorpionsもそうだけど、70、80代の焼き直しをせずに現在のロックにうまく調和するように作品を作っているように思うんだよな。

メンバーは以前のVANDENBERGのオリジナルメンバーと同じでなく、ギターでリーダーであるエイドリアン・ヴァンデンバーグだけ。
ヴォーカルは、最近Rainbowで歌っていた人。
この人は最近のヴォーカルでは、相当上手いなー、と思う。

ともあれ、エイドリアン・ヴァンデンバーグは高齢でもあるにかかわらず、良い作品を作ってくれてよかった。よかった。





2020年4月29日水曜日

「英雄伝説 零の軌跡:改」 が届いた

PS4の「英雄伝説 零の軌跡:改」が発売され、自宅に届いた。
そもそも、本作は買う予定がなかったけど、「英雄伝説 閃の軌跡II:改」で本編をクリアしたら、外伝が始まったのだけど、そのキャラクターが以前の作品で登場していたことを知って、過去の作品の経緯を知らないと楽しめないのでは、と思い、
「英雄伝説 閃の軌跡II:改」で遊ぶのを止めて、軌跡シリーズの初作の「英雄伝説 空の軌跡」から遊んでみることを決める。
それが、2018年10月。もう1年半ぐらい前。
時が過ぎるのは速い。
というか、ゲームをする時間があまりなかった。
仕事や他のプライベートの予定で空きの時間は少ないのである。
そして、今は「英雄伝説 空の軌跡 the 3rd」は、ただいま第六話の最中だ。
クリアまでもう少しだと思う。
これをクリアすると続きの「英雄伝説 零の軌跡:改」を遊ぶことができる。
ゴールデンウィーク中には、を遊び始めることができるかもしれない。







2020年2月24日月曜日

空の軌跡 3rd 爆釣15番勝負 で勝つ方法

空の軌跡 3rd 爆釣15番勝負 で勝つのに半月を費やしてしまった。
釣りのタイミング・コツがうまく掴めずにいた。

竿を「マリンスター」、餌を「コエビ」だと、約8割ぐらいHitさせることができる。
そして、そのときに釣ることができる「クァサゴ」「シヴァス」を餌にすると
約1割ぐらいしかHitしない。

ググってみると次のサイトが見つかるので参考にしてみた。
爆釣15番勝負

人間の脳の特性上、「視覚に反応」するより「聴覚に反応」する方が早いため、「!」のを頼りにするといい。BGMに紛れて聞こえにくい場合があるので、オプション設定で効果音の音量を上げておくこと。

オプション設定で効果音を最大、BGMは最小にした。
それでも、あまり効果なし。
そして、数日が過ぎても釣りの精度は向上せず…

再度、他に情報はないかと、ググって見る。
すると、次の動画を発見。
【解説&実況】空の軌跡the 3rd 太陽の扉➁-3

この動画で、話している中に、「釣りをしているときに瞬きをしていない。」と言っている。
そして、動画を見ていると、釣るタイミングは、ビックリマークとその効果音が出始めた瞬間。

あ、これは反射神経がものをいうものなのかな、と。
そして、瞬時にボタンを押すために、右腕を肘をたてず、浮かしおく。
そのことに気づいて、3回程チャレンジすると、今まで、300ポイントぐらいまでしか届かなかったのが、600ポイントぐらいまで届くようになった。
ただ、その時は深夜0時ぐらい。
集中力が研ぎ澄まされてない。
なので、翌朝一番にしようと思い就寝。

そして、朝起床後の一番に再度、挑戦。
すると2回目で勝利することができた。
しかも、1700ポイント超えになっている。
(ちなみに、この後の最後の15番目で、フィッシャーは、390ポイントぐらいの「ブルーマリーナ」を釣ってしまった。)


今回、思ったのはゲームに勝つための情報収集は幅広く行った方がいいということ。
それと、反射神経を研ぎ澄ますのには、体調が大事だということ。

2020年1月6日月曜日

macOS Catalinaのデフォルトシェル

macOS Catalinaのデフォルトシェルにzshを設定できるらしい。

macのTerminalを起動したら
以下のメッセージが表示されていて、リンク先のサイトの情報を見てはじめて知った。
まぁ、シェルを組むことはあまりないので、ひとまずbashのままにしておく。
zshにする必要性がでた時点で設定しなおせばいいし、今でもzshを使えないことはないし。

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.