« Home | ORASentry » | What is your experience with cursor_sharing? » | Building an Ajax Memory Tree » | Approach 4: Using Regular Expressions » | Oracle Database 10g: Top Features for DBAs Release... » | Project Lockdown 2 » | Build Your Own Oracle RAC 10g Release 2 Cluster on... » | Inserting Custom Messages in Oracle Alert/Trace files » | Virtual Indexes in Oracle » | Project Lockdown »

Using an Oracle database link to connect to Excel

今日はオランダのAMISというJavaとOracleに非常に注力している
企業をご紹介します。

公表されているブログでは頻繁に興味深い投稿が
なされています。

今回はそのブログの中からExcelデータにOracleから
アクセスする方法をシンプルに解説している記事を
ピックアップしました。

8iからの機能であるにもかかわらずあまり一般的に
使われていないと思います。
ここではたった5つの簡単STEPで実現できるようになっていて、
早ければ数分でできると思います。

その5つのSTEPの最初のSTEPを引用いたします。


■ AMIS
http://www.amis.nl/

■ 引用ページ
http://technology.amis.nl/blog/?p=1303


_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
記事本文
_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
◆ Using an Oracle database link to connect to Excel

1. The first step is to create a System DSN in
the Windows ODBC Data Source.
Start-up the ODBC Data Source Administrator
tool (Control Panel > Administrative Tools),
select the System DSN tab and click the add
button. I will be using an Excel file in this
example but you could do the same for an Access
database, SQL Server or even MySQL. Give the
Data Source a name e.g DEMO_EXCEL and select
the excel file.

_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
英語の語順に近い解釈
_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
◆ Using an Oracle database link
DBリンクの使用

to connect to Excel
Excelに接続するための


1. The first step is to create a System DSN
最初のSTEPはSystem DSNの作成です。

in the Windows ODBC Data Source.
Windows ODBC Data Sourceでの

Start-up the ODBC Data Source Administrator tool
ODBC Data Source Administratorを開始します。

(Control Panel > Administrative Tools),
(コンパネ → 管理ツール)

select the System DSN tab
System DSNタブを選択します。

and click the add button.
そしてaddボタンをクリックします。

I will be using an Excel file
私はExcelファイルを使用しようと思います。

in this example
この例では

but you could do the same
でもあなたは同じようにできます。

for an Access database,
Access DB向けに,

SQL Server or even MySQL.
SQL ServerまたはMySQLでも可能です。

Give the Data Source a name
Data Sourceに名前を指定します。

e.g DEMO_EXCEL
例えばDEMO_EXCELとか

and select the excel file.
そしてExcelファイルを選択します。

_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
用語解説
_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
database link

※DBリンクは本来は異なるOracleDBに接続し、
別のDB上でのアクセスを可能にする為の機能です。


System DSN

※DSN = Data Source Name
次に説明するODBCを経由して接続する為の定義の名前
DSNには3種類あります。
System DSN:マシン全体で共有するDSN
(サービスも利用可能)
File DSN :同じドライバをInstallしている複数の
ユーザで共有可能
User DSN :ユーザ専用のDSN


ODBC

※ODBC = Open DataBase Connectivity
Databaseに接続するための標準化された仕様。
ODBCで標準化された仕様と各Databaseの仕様との
差分の吸収はODBCドライバが担う。


even

※驚きや意外、予想外、強調などの気持ちを含めたい
場合に使用します。
今回はMySQLでも可能なことを強調してますね
形容詞的に「平らな、イコールな」といった
ニュアンスで使用する場合もあります。


e.g

※e.g. = exempli gratia(ラテン語)
今回のように例をあげる場合に使用します。


今回複数の略語が登場しましたが、略語のことを
英語ではAbbreviationと言います。
また、略語のアクセントは通常最後の文字になります。

_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
解説
_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

詳細はマニュアルが以下のサイトにありますのでもっと詳しく
知りたい方はご確認ください。
(マニュアル参照のためにはOTNへの無償登録が必要です)

Heterogeneous Connectivity Administrator's Guide
<英語>
http://www.oracle.com/pls/db102/to_toc?pathname=server.102%2Fb14232%2Ftoc.htm&remark=portal+%28Books%29

<日本語>
http://otn.oracle.co.jp/mp/EL/sll?p=958-101468-1-0


Heterogeneousは「異種の」「異なっている」という意味です。

引用先ページのHS初期化パラメータ記述の項で
HS_AUTOREGISTER = TRUE
と記載されていますが、
このパラメータはHS初期化パラメータ項目ではなく、
DBの初期化パラメータの項目です。
デフォルトもTRUEなので特に指定は不要です。
(指定しても無視されます)

また、HS初期化パラメータファイル名の例に
「.ora」がついていませんが、(e.g. inithsdemo_excel.)
ついていないと認識されずにエラーになりますのでご注意ください。

例ではExcelのSheet名をテーブル名として扱っていますが、
Excelの別名をテーブル名として扱うことも可能です。
具体的には、テーブルにしたい範囲をドラッグで選択して、
左上の名前ボックスにテーブル名を入力してEnterします。
その場合はSheet名の時のような$マークをテーブル名の
後ろにくっつける必要はありません。

また、Excelファイルを開いた状態で、SQLも実行したい場合は
Excelのツールメニューからブックの共有を選択し、
「複数のユーザーによる同時編集と、ブックの結合を許可する」を
チェックします。ただし、一度OracleからSessionを張った状態だと
Oracle側でファイルがロックされ、Excel側からの更新ができなくなりますので、
Excelで更新したい場合はOracleのSessionを終了する必要があります。

_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
編集後記
_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

今号からご購読いただいた皆様はじめまして。
本日も最後まで読んでいただきありがとうございます。

今回はオランダ、前々回はフランス。
色々な国の技術者がForumにも参加していますが、
日本人はとても希少です。

実は今回紹介した記事は下記DBA-Vilageの
Forumからたどり着いたのですが、

http://www.dba-village.com/village/dvp_forum.OpenThread?ThreadIdA=25058#82014

ここではBangladesh人の質問に
Belgium,France,Germany,Pakistan,Netherlands,USA
India,Brazilの方々が反応しています。

人口比率やIT普及率からみてもとても少ないと思います。
世界でワーストクラスの英語力が反映されているのでしょうか。
日本の悲劇的な英語教育に革命が起きてこういった比率が
少しでも変わることを切に祈ります。

それではまた

About me

  • I'm yaksa
  • From Tokyo, Japan
My profile
にほんブログ村 IT技術ブログへ

blogRanking