LoginSignup
1
0

【Dr.Sum VTB】Oracleから直接データ取得、Dr.Sumへインポートする(ODBC)

Last updated at Posted at 2021-04-08

#目標
Dr.Sum VTB方式でOracleから直接データ取得、Dr.Sumへインポートする。
そのインポートを毎日定刻にバッチ実行したい。

#経緯
これまでCSVをDr.Sumにインポートする方式しかやったことなかったです。
DBから大量データを引っこ抜く時に負荷かかったDB側で問題起きる可能性、が理由で避けてました。
でも今回、CSV作成の時間を節約するため、DB直接つなぎ→Dr.Sumにインポートをテストする許可がお客さまからもらえたので、チャレンジ。

#手順(前半:Oracleがらみの準備)
###(1)Oracle Clientインストール
・Dr.SumサーバにOracle Clientインストール
 (32ビットと64ビットがありますので環境に合わせて。以後64ビット前提で説明)

###(2)Oracle Net Configuration Assistant設定
・Oracle Net Configuration Assistantを起動
 注)ここらへん、最近のOracleがどうなってるか不明。古い12gで説明します
image.png
・ローカル・ネット・サービス起動を選択、次へ
image.png
・追加を選び、次へ
image.png
・サービス名を入力、不明な場合は管理者に問合せる
image.png
・TCPを選択し、次へ
image.png
・つなぐDBのホスト名とポートを入力、次へ(不明な場合は管理者に)
image.png
・テストを実行→高確率でエラーになる
image.png
image.png
・ログインの変更ボタンをクリック、DBのユーザとパスワードを入れる
image.png
・ネットサービス名を入力し、完了
image.png

###(3)ODBC設定
####ODBCとは「Open DataBase Connectivity」
DBとその他の何かをつなぐための設定、と捉えればOKかな。

####(追記)補足
Dr.Sum VTBのデータソース、ODBCとOCI8を検証してみた

・Windowsの管理ツールからODBCデータソース(64ビット)を開く
image.png
・システムDSNタブで、追加ボタンをクリック
image.png
・Oracleのドライバーを選んで、完了ボタンをクリック
image.png
・構成を入力する(TNSサービス名、ユーザ名はこの下で説明)
image.png
 ★TNSサービス名:前述のここ↓で設定した値。ユーザID:データベースのユーザID。
image.png
image.png

#手順(後半:VTB定義~インポート)
###(4)VTB 定義作成
####VTBとは
データをインポートするときにどういう風にするかを(条件とか、出力レイアウトとか)決めて、「仮想テーブル」として保存するよ。一度定義すれば何度でも使える。

・VTB Creator起動
image.png
・データソースを作りますよ、作成ボタンをクリック
image.png
・ODBCの設定を使います、日付フォーマットをDBと合わせて、テスト実行
image.png
・テーブル選択が開きます、読みたいテーブルを指定し、追加
image.png
・テーブル情報が読み込まれ、こんな感じになる
image.png
・項目を、こんな感じで全部選んで・・・(続く)
image.png
・(続き)下の一覧にドラッグ
image.png
・名前をつけて保存
※ここで開くフォルダはDr.Sum Enterprise Managerの設定で指定したフォルダ
image.png
※Dr.Sum Enterprise Managerの設定
image.png

#もうちょっとだよ・・・
###(5)インポート実行
image.png
・さきほど作ったVTB定義を仮想テーブルから選び、すでにDr.Sum内にテーブルを作っていればそのテーブルを、テーブルをこのタイミングで新規作成するならこのまま、実行する
image.png

補足:インポート時のエラー
Dr.Sumエラー解決までの近道 - データインポート時のエンコード、制御コード

###(6)バッチで動かす
長くなってしまったので、別で書きました。
Dr.Sum VTBでのDr.Sumインポートを日時指定&自動で動かす(バッチ)

#つぶやき
情シスだったら普通にやる作業だと思いますが、あらためて書き起こすと長い

#ウイングアークのユーザコミュニティ「nest」
私も参加しています。多くの有益な情報があり、交流があります。
世の中が変わり、社外活動の重要性がより増していると考えております。
社外で自分の価値を計れるものさしを持とう。

以上

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0