トラブルの原因は意外なところに潜んでいたり

日常的に大小様々なトラブルに見舞われるために、すっかりトラブル慣れしてしまった感が強くあるのですが、なまじ慣れているがゆえに原因を見つけ出すのに回り道してしまうということもたまにあります。

特にここ数日の間に連続して大回りしていることを思い知らされたのが2件。

1つ目は「外付けBDーRドライブの認識が途切れる」という案件。

これは、PC上からDVDなどを書き込もうとすると途中でエラーが発生してしまうというのが第一の症状。
そして、エクスプローラー上から見るとドライブが時々行方不明になる(アイコンが消える)という現象が生じていました。
ちょうど、Windowsのアップデートもすませたタイミングから顕著になってきたので、なんらかのドライバのトラブルか?とまずは疑いにかかったわけです。
ところが、外付けドライブ周りについては直接アップデートされているものもなく、再認識させようが再インストールしようがまったく状態に改善がみられない。
そうすると次に気になるのがハードウェア。ほぼデフォルト設定のまま使っているはずですが念のためにBIOS設定をのぞいてみようとすると・・・なぜかUSBキーボードから設定に入れない。通常使う分には問題ないのに「?」な症状です。
で、他のキーボードを使ってBIOS側の設定を確認し、不要なハードをDisableにしたりより安全なパラメータへと変更したりするものの、やはり最終的な症状には改善がみられない。これはひょっとするとメインボード側の不具合の可能性すら浮上してきます。
この時点ですでに24時間以上を費やしています。

最終的に原因がわかったのはとても偶然だったのですが、USBケーブルを背面から取り回していたので滅多に手に触れることがなかったところ、ちょっと触ってみるとドライブ側のLEDがチカッと・・・はっとした瞬間でしたが、おそらくケーブル側に問題ありと仮定して繋ぎかえてみたところ・・・あっさりと症状が改善しました。

だめですね、パソコン側もドライブ側もいろんな設定や組み合わせを試してみているくせに、単純にケーブルが断線しかかっているという事にまったく思い当たってなかったという事例でした。

2つ目は、Androidアプリ側で初めてSQLiteを使ってみようといろいろ試してみていたところ、なぜかテーブルを操作しようとすると落ちてしまう、といった症状。

アプリに関しては圧倒的に経験不足なわけで、1週間ほどはああでもないこうでもないと悩んで、updateやinsertの返り値を実は間違って理解しているのか?とかテーブルのcreateでとちっているのか?とかtry – catchの書き方を根本的に間違ってるのか?とか、そもそもSQLiteのデータ型は?intと書いていいのintegerと書くのが必須なの??とか乏しい知識の中で可能性を想像しながらトライアンドエラーを繰り返し・・・

最後にたどり着いたのはとても単純で「データベース名を変えたら動いた」という、つまりは他の既存DBなんかと衝突してたんでしょうね、誰でも考えそうなDB名だっただけに、ろくにアプリを入れてない環境でもあたっていたのでしょう。(いまだ確証はないですが)

ともかく・・・難しく考える前に簡単なところにある原因を見落としていると、見つけたときにはがくっと脱力感を感じてしまうと同時に、ネタにして笑ってもらわないと損だなーと思ってしまいます。

こんな日常の繰り返しでさらにスキルアップができれば、自分としても嬉しいのですが(^^)