2017年3月15日水曜日

ibatisでPersistenceExceptionエラーが出る

とあるWebアプリについて、モジュールをもらったのでローカルにセットアップ中です。jdbcでデータベース接続するので、Tomcatのserver.xmlにリソース定義して接続させてみます。

ibatis.exceptions.PersistenceExceptionエラーが発生しました。


。。。うーん。よく分りません。
試しにリソース定義した部分をコメントアウトするとアプリケーション側でエラーハンドリングされるので、リソース定義自体は問題ないようです。

対象のデータベースはDB2です。driverClassName="com.ibm.db2.jcc.DB2Driver"として、db2jcc.jar、db2jcc4.jarもlibフォルダーに置いています。

可能性としては
  • JARが読み込めていない
  • サーバーにアクセスできない

があります。ちょっとググってみると、次の記事に当たりました。
DB2 and MyBatis Connection refused: connect. ERRORCODE=-4499, SQLSTATE=08001

気になったのは「i already did set DB2COMM to TCPIP but still doesnt work」の箇所です。DB2COMMをセットする???

探してみると、次の記事がありました。
DB2 インスタンスの通信プロトコルの設定

要するに、DB2COMMにTCPIPをセットしてあげないと、ポートをLISTENしてくれないようです。
言われたとおりにしてDB2を再起動。

SQL5043N  DB2COMM 環境変数で指定されている 1 つ以上の通信プロトコルに対するサポートを正常に開始できませんでした。 ただし、コアのデータベース・マネージャーの機能は正常に開始されました。

うーん、まだ素直に動いてくれません。
このエラーを見てみると、「例えば、このメッセージが返される 1 つの理由として、SVCENAME データベース・マネージャー構成パラメーターが正しく設定されていないことが考えられます。」とありました。
確認すると、確かに、SVCENAMEがブランクです。


ということでSVCENAMEを設定して、再度DB2再起動。


すると漸くibatisエラーはなくなりました。
どうも、DB2側で、サーバー接続可能なように設定する必要があったようです。DB2コマンドからは接続できたので問題ないと思っていたのですが、どうも違ったようです。


初歩的なところで躓いてしまいましたが、備忘がてらメモしておきます。

2016年12月18日日曜日

Ubuntuから印刷する

以前から、Illustratorで作成していた年賀状をUbuntu上でも作成できるように、という野望はあったのですが、結局1年間手付かずでした。
これではいけないと思い、今年こそはチャレンジしてみます。

ということで、Illustratorの代替品やデータコンバート手順についての記事を探っていましたが、ふとした疑問が。

そういえば、そもそも、自宅のプリンターに、Ubuntuから印刷できるのか

これが担保されないと、そもそもの計画が台無しになってしまいます。Illustrator問題解決の前に、まずはこちらに作業を振り替えます。

自宅のプリンターはエプソンですので、UbuntuとEPSONをキーワードに検索してみます。

How to install Epson printer drivers on Ubuntu 16.04?

なんか出来そうです。言われたとおり、リンク先からドライバーをダウンロードしてみることにします。
検索してみると、自分のプリンターの型番はありませんでしたが、前後型番違いは掲載されています。
それを開いて、ダウンロードしてみることにします。

。。。でも、どれをダウンロードしてよいか分かりません。RPM? LSB? DEB?何ですか、それは。
久しぶりにUbuntuを触ることもあり、ギャップが甚だしい。

ここは恥を忍んで、日本語のページで分かりやすいものがないか再度探してみます。そもそも、EPSON自体が日本メーカーだし。

Linux(Ubuntu)でもプリンタドライバはあるよ!

おぉ、なんて親切な。ここを読んでみると、以下の記述が。

Ubuntuであれば、「.deb」で、Ubuntuソフトウェアセンターからインストールできます。

コマンドを叩かなくても、GUIで出来ちゃうらしいです。感激。
言われたとおり、順番にリンクを辿っていきます。

セイコーエプソン株式会社のLinuxドライバーダウンロードについて
ドライバーダウンロード

ありました!!自分のプリンターで、ドライバーがあることを発見。
何種類かあるので、「DEB」でCPUに合うものをダウンロードすると、ソフトウェアセンターが起動し、そのままINSTALLボタンでインストール完了。
あっけないくらい、簡単に出来ました。

後は、System Setting ->Printer ->Addで、私の場合はNetwork Printerで選択して、テスト印刷して動作することを確認。


まずは一歩前進です。

2016年11月28日月曜日

VB.NETで実行モジュールだと動かない

VB.NETでプログラムを作成し、無事、デバッグ環境で確認完了。
次は、いよいよ本番環境です。
で、念のため、実行モジュールを、自分の端末で動かしてみました。

DBに接続できません。

え。
さっきまで、デバッグでは動いていたのに。

頭がついてきません。
そんなときには、いつものグーグル先生です。
.NETで作成したEXEがODBCエラーで動かない。


いや、そこは分っています。やってます。

Part 2. .NET Framework 2.0 アプリケーションの 64 ビット対応


んー、なんかよく分らないけど、コンパイルの問題かもしれないのでコンパイルの設定を確認します。気になる箇所がないか、チェック。

見当たりません。
「詳細コンパイルオプション」があるので、そこも確認。すると、ターゲットCPUがx86です。これでも大丈夫なはずなのにーと思いつつ、PCのCPUと同じのx64に変更し、再度、実行モジュールをビルド。


動きました!!!!!


なんでこんなことで???というのが正直な感想で、まだ頭の整理がついていませんが、備忘がてら、メモしておきます。



2016年11月20日日曜日

iOSがバージョンアップしたらIP電話が動作するようになった件。

先日、予期せずして、iOSのバージョンが10に更新しました。というか、誘導されて更新してしまいました。

いろいろと不具合があったので、非常に迷惑なのですが、1点だけ良くなったことがありました。

IP電話が待ち受け画面に出るようになった 

そうなんです。これまでは、iPhoneでは、SIMカード以外の電話機能は、プッシュ通知しかされませんでした(所謂、普通のアプリと同じ)。なので、

  • 着信が来たら、画面に誰から来たか(画像登録していればその写真が)表示される
  • 着信が来たら、バイブレーションし続ける

なーんてことが、なかった訳です。なので、着信に気づかないことが結構ありました。
これが、OSのバージョンアップによって、SIMカード以外の電話アプリでも、ちゃんと機能するようになりました。

当たり前ですが、やっと電話として正常に機能し始めました。


IP電話にして各位から不評だったので、これは一歩前進です。

2016年11月16日水曜日

VB.NETでADODBの参照設定をする

久しぶりに、VB.NETで開発しようとしています。
まずは、空のソリューションを作成するところから。
続いて、データベース接続クラスを用意します。この前作ったものがあるので、それをコピーしてきます。ここで、いったんビルドして確認します。

エラー。

見てみると、ADODB.Connectionの型定義が見つからないようです。
前はどうやったんだか。ログに残していないので、グーグル先生に聞くところからです。

Microsoft Visual Basic での ADO の使用


はいはい。
ソリューションのプロパティから何かやった覚えがあるのですが、そうではなく、「プロジェクト」⇒「参照の追加」⇒COMのタブから、Microsoft ActiveX Data Objects x.x Libraryで一番最新のやつを選んどく、ということでしたね。

これで無事、ビルド完了。


こんなことも忘れてしまっている今日この頃です。
やっぱり、先日のiPhoneのこともあるし、記録に残しておくようにしよう。

2016年11月12日土曜日

iPhone5sのバッテリーを交換する

先日、iPhone5sのバッテリー交換に行ってきました。
或る日、何気なくiPhoneを触っていて、特に問題なかったのですが、ふと机の上に置いてみると、カバーのラインと本体のラインに微妙な差が。真ん中あたりが盛り上がっている感じです。
そのあたりの画面に触れ、ちょっと押してみると、画面に斜めの線が入るんですね、これが。

バッテリーか。

そう確信した私は、ちょうど次の日が土曜日だったので、Apple Storeに行きました。

「予約は取られていますか?予約がなければ、本日中の対応は厳しい見込みです。」

いきなり、そんな事を言われました。ふーん、Apple Storeって、予約を取るものなんですね。知りませんでした。

そうはいっても、修理しない訳にはいかないので、とりあえず受け付けてもらう列に並び、待つこと15分ほど。

「今日でしたら、13時以降になりますが。。。」

さっきと言っていることが違うじゃないか。まぁ、受け付けてもらえるなら有難いものです。登録をして、SMSで呼んでもらうことになりました。


時間を潰しているうちにSMSに連絡が入ったのでApple Storeに戻りました。
こちらも、15分ほど待つと呼ばれて技術員さんと漸く面談です。

「あ、これは本体の交換ですね。」


あっさりそう言われました。いくら位するんだろう。買った時の値段を考えてげんなりしていると、1万円弱で交換できるといわれました(バッテリー交換による本体交換はお安くなるらしいです)。それだと、出せる値段です。交換してもらうことにしました。

「バックアップは取られていますか?」


そんなもの、取っている訳ないでしょう。バッテリー交換のつもりで来たのに。
が、見てもらうと、朝の7時にiCloudにバックアップがあるようです。それを聞いて安心し、復元するにはWiFi環境が必要だからということで、家に戻ってから復元することにしました。旧いiPhoneは、初期化して技術員さんに手渡してサヨウナラ。


そんなこんなで、家に帰って、復元を始めます。メールアドレスとパスワードを入力し、10分ほど待つと、前の画面がきれいに戻ってきました。やるなぁ、アップル。


その後、アプリのダウンロードが始まったので、終わった頃に動作確認。Facebookとか、そのまま使えます。
が、一部のアプリについては、ユーザーID、パスワードの設定からやり直し。どうも変だと思い、ググってみると、ID/パスワードを含めてバックアップするには、iTunesからバックアップしないといけないようです。そんなことは知らないので、バックアップなんて取っていません。


ということで、バッテリー交換のつもりが、本体交換になり、iTunesでバックアップしていないことから、いろいろと設定しなおす羽目に。SIMフリーなので、APN構成もやり直し。こんなとき、ブログに書いていて良かったです。
(でも、今回は前回と違い、APN構成はApp Storeからのダウンロードで行けました。このあたり、MVNOに対する時代の変化を感じます)


ただ、引っかかったのは、LINE問題。データ通信用SIMを使っているので、LINEは以前の電話番号で登録していました。復元する際は、SMSにメッセージが来て再登録できるようなのですが、電話番号が変わっている場合、事前に変更処理しておく必要があったようです。


現在、LINEさんの回答待ち。復旧できるんだろうか。。。
不安です。

2016年9月24日土曜日

VB.NETからC#への移行

VB6を移行する際、VB.NETではなくC#に移行したい、という輩がいたため、念のため調査。

【VB】「VB.NET←→C#」コード変換ツール
vb.net から c# に書き換えたお話.
Convert VB.NET to C#

要するに、VB6からC#への移行ツールはないんだけれど、VB.NETをかますと、それなりにある程度の変換精度はあるようです。

ということで、VB6からは、マイグレーション・ウィザードを使ってVB.NETに一度変換する方向で対応して、そこから先は予算との兼ね合いで、、、という整理にいったんはしてみます。