Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@ratsbane666

Dr.Sum VTBでOracleから直接データ取得、Dr.Sumへインポートする

目標

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」

私も参加しています。多くの有益な情報があり、交流があります。
世の中が変わり、社外活動の重要性がより増していると考えております。
社外で自分の価値を計れるものさしを持とう。

以上

0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?