ソフトウェア開発」カテゴリーアーカイブ

意外と難関!? Oracle Migration Workbench

AccessからOracleへのデータ移行

先輩から引き継いだAccessで作られたツールが、ちょっと性能的な限界を迎えたので社内のOracleサーバーにデータを移行しようと思った。調べてみるとOracleがAccessからのMigration用のツールを提供しているのでとても簡単

意外と簡単!? Oracle Migration WorkbenchによるMS-Access→Oracle移行
http://otndnld.oracle.co.jp/easy/access/shift_manual/index.html

だと思ったら、実はものすごくめんどくさかったのでメモ。

不思議なツール構成

AccessからOracleに移行するには上記の手順に従うと大きく2つのステップが必要となる。

  1. Accessの情報を吸い出す
  2. 吸い出した情報を使ってOracleへ移行

ツールとしては、Accessで作られたExporterと呼ばれるエクスポートツールと、MigrationWorkbenchと呼ばれるデータをインポートするためのツールを使うのだが…。なぜかExporterは表の情報をXMLファイルにエクスポートするのみ(正確にはデータをDATファイルに落とすこともできるのだが、是術した手順では使用しない。使いづらいのか?)。実際にデータを移行するのはMigrationWorkbenchがAccessに直接アクセスして移行しているようだ。表の情報を別に出力している理由が分からない。

なんとか情報を吸い出して、Migrationを実行しようとするが、ここでも注意が必要だ。
WorkbenchがサポートしているMigrationは、ユーザーやテーブルスペースが固定されてしまっている。スキーマ情報を出力したXMLファイルを修正することで変更をすることができるには出来るのだが、ユーザー名=テーブルスペース名という制限がついてしまう。
つまり、Migrationを実行するには専用の環境を用意する必要があるという事だ。

移行する時の注意点

Oracleと違ってAccessは結構なんでもありの世界になっている。テーブル設計がある程度の常識を持って作られていれば特に問題はないのかもしれないが、中途半端に”ユーザーに分かりやすく”を目指しているととても色々と出来てしまう。

  • 禁止文字の使用
    • Oracleではテーブル名やフィールド名に使う事が出来る文字列に制限がある。ところがAccessには制限が無い(もしくは緩い)ために、ここで齟齬が生じる。Workbenchではこれを自動変換して対応を使用とするのだが、これがどうもイマイチ中途半端のように見受けられる。
  • テーブルの長さが20まで
    • Oracleのテーブル名やフィールド名のサイズ長は30バイトのはずなのだが、Migrationツールで情報を吸い出すと20バイトまでしか取り扱ってくれずに切れてしまう。半角カナは2バイトとしてカウントされてしまうようだ。多くの場合は問題ないかもしれないが、フィールド名が「かえる用のフィールド1」「かえる用のフィールド2」なんてつけ方をすると途中で切れてしまって、フィールド名重複のエラーが出る

しかも、Office2007でやってみたらうまくいかなかった。うまくいかなかった原因がOfficeにあるのか設定にあるのか。このあたりは定かではないのだが、あれこれと制約や制限。出来ない事が多すぎて結局今回はOracleへの移行にWorkbenchを使用するのをあきらめ、自分で移行用のプログラムを書いてしまうことにした。

前々からそうなのだが、Oracleはあまりにもユーザーインターフェースがずさんなように感じる。パッチをあてるにしろインストールにしろ、あまりにもひどい場合が多い。
DBの性能がいいことに胡坐をかいてしまっているのではないだろうかと思ってしまう。何とかしてほしいものだ

JINS PCのその後

JINS PCを利用し始めてから2ヶ月が経ちました。

JINS PCを試してみています
http://d.hatena.ne.jp/krote/20120305/1330896902

だいぶ慣れては来ましたが、まだ気にならないという訳ではない状態です。
ちょっと疲れが溜まってくると、メガネをかけている事が疲れを倍増させているような感じがして
メガネをかけるのをやめてしまったりもします。

元々、ドライアイ等に悩んでいた訳ではない私。
つけないならつけないで問題は無いのでそのまま過ごしてしまったりもします。

いいのか悪いのか。
どうも、これが目にいいという事を実感出来ないのはメガネをかけるモチベーション(?)に欠けます。
本来は疲れている時にこそ目をいたわる意味でかけるべきなのでは?とも思うんですけどね。

何とも、何とも。

Silverlight検定

Silverlight検定なるものを「Programmable Life」さんが作成していたので挑戦してみた

Silverlight 基礎知識検定 (Programmable Life)
http://d.hatena.ne.jp/coma2n/20080623/1214229546

Silverlight 基礎知識検定
http://kentei.cc/k/11346

結果は何とか合格でしたが、簡易Webサーバーの○○っていうのは知りませんでした。。。まだまだ勉強不足ですね

あー。。。最近プログラムできてないなぁ。。。。
管理・マネジメント関連の仕事ばっかりです。いや、それはそれで面白いのですが。。。

それにしてもこの「けんてーごっこ」って仕組みは面白いですね。簡単そうだし、ちょっとしたクイズだとかに使えそう。もう少し画面サイズが大きいといいのだけど、大きければ大きいだけ背景だとか気を使わないといけないことが多くなるからまぁいいのかな。何か遊んでみようかな?

Macで戸惑っていること

使い始めてまだ3日ほどしかたっていない+使っているのは一日2時間ほどなので、やはりまだまだ慣れません。

とりあえず、現時点で「うーん」って思っていることを備忘録代わりに書いてみることにします。

ショートカットキーの違い

Windowsでは主に編集操作を行うときにはCtrlキーを利用しています。
コピー時にはCtrl+cであったり、ペースト時にはCtrl+vですね。
Macではこれらの操作にはCtrlキーではなくCommandキーを使うことになるようです。
また、ブラウザ等で最新情報に更新するときにはWindowsではF5キーを利用することが多いのですが、Macでは「Command+r」を使うようです。

また、完全に習慣として染み付いてしまっているのが漢字と英数の切り替えです。ホームポジションに近い位置にあるにもかかわらず、習慣としてApple純正のキーボードには存在しない「半角/カナ」キーを押そうとして「1」が押されてしまいます。。。。

こればっかりは覚えていくしかないのでしょうが、慣れないうちはちょっと面倒ですね。
ふむぅ

ペイント

ブログに利用する画像を、これまではペイントを利用して加工していました。GIMPとか立ち上があるの遅いし。
ただ、Macでこの役割を担っているのがなんなのかがよくわかっていません。
そもそも最初からはインストールされていなくて、GIMPなり何なりをダウンロードしてこないといけないのかな~?

これに関しては、それほどの緊急性がないことからまだ細かくは調べていない。
いいのないかな

そもそも触りきっていないので、これからも戸惑うことは数多く出てくるだろう。
実際のところの戸惑いはここに書き尽くせるものではない。戸惑いというか、なんというか。

やっぱり「知らない」ってことは大変だね。
週末に少しでも経験値をつめるようにしていきたいものです

ちょっと遊んでみた

チュートリアルも8つあるうちの6つが終了。一番最後のチュートリアルはWPFでのものなので実質的には残るはテンプレートに関する一つのみ。と言う事で、今までのサンプルで少し遊ぼうとした。下はリストのタイトル列を2段組みにしてみた

f:id:krote:20080331003238j:image

と、見てみるとエラーを引き起こしているじゃないか。

f:id:krote:20080331003235j:image

なにやらGifファイルが見つからないみたいなエラー。よく見ると、リストのうちの一つのサムネイルが表示されてない。

どうやらすべての抽出結果にサムネイルが付いているわけではないのか、サムネイルがSilverLightで表現できない形なのか。そういう事に起因しているエラーのようだ。サンプルを見返してみると、ちゃっかりLINQの所に以下の記述が追加されていた

where story.Element("thumbnail") != null && !story.Element("thumbnail").Attribute("src").Value.EndsWith(".gif")

これでOK。ちなみに、さらにいじって、ユーザ名を表示させてみた。

f:id:krote:20080331003232j:image

Listの内容をグリッドにし、1行目にさらにグリッドを追加して1行目は2列。2行目は1列のような表を作ってみた。xamlを使った表現は、なれると結構いろいろなことができることがわかる。比較的簡単に。SilverLightでは機能が少ない分動作に困ることはあるかもしれないけど、WPFでできることの多くはそのうち追加されるかもしれない。それを考えるととても楽しみである。