
Excel‐Oracle連携(3) Page 1/4
ExcelからOracleを更新できれば大助かり
日本オラクル
宮本 尚志
2005/9/9
企業の部門内に蓄積された大量のExcelデータをデータベースで管理したい。あるいは、Excelで作成した業務書類からシステムに手作業でデータ入力する工数を削減したい。このようなニーズに応えるべく、OracleデータベースにはExcelからOracleへのさまざまな連携機能が備わっている。(編集部)
| 主な内容 --Page 1--
--Page 2--
−Excelで変更行を判別する方法−更新操作における同時実行性の制御 --Page 3--
−事前準備 −KeySQLのGUIから更新 --Page 4--
|
前回までの記事では、ExcelのデータをOracleデータベースに格納する方法と、OracleデータベースのデータをExcelから検索する方法について紹介してきました。最終回となる今回は、ExcelからOracleデータベースのデータを更新する方法について解説します。
OracleデータベースのデータをExcelで更新する主な方法は、VBAマクロを使用する方法と、KeySQLを使用する方法の2つです。本記事では、それぞれについて具体的な方法を紹介します。
XMLを利用して簡単に更新する方法もありますが、この方法ではXMLを利用して格納したデータしか変更できません。Oracleデータベース内の通常の表を更新する用途では使えないため、今回の記事では触れません。XMLを利用したデータ格納に関しては「ExcelデータをOracleに格納する裏技」を参照してください。ほかにもODP.NETを利用した方法など、さまざまな方法がありますが、本記事では触れません。
VBAマクロでOracleデータベースのデータを更新する方法は、第2回「お手軽が一番、ExcelをOracleクライアントに」で紹介した検索の場合と同様で、SELECT文がUPDATE文に変わるだけです。以下のミドルウェアごとのコードを見てみましょう。
- ActiveX Data Objects(以下、ADO)からODBCドライバを使用する方法
- ADOからOLE DBドライバを使用する方法
- Oracle Objects for OLE(以下、oo4o)を使用する方法
Private Function updateSql(Row As String) As String |
| リスト1 ADO+ODBC、ADO+OLE DBによるデータベースの更新 |
Private Function updateSql(Row As String) As String |
| リスト2 oo4oによるデータベースの更新 |
上記リストのように、更新を行うUPDATE文の発行そのものは、SELECT文の発行とまったく同じ手順であり、簡単です。検索を行うマクロ同様、上記リストにデータベースへの接続部分を加えれば動作します。データベースへの接続を行うマクロに関しては、第2回を参照してください。
ただし、更新処理を行う場合、検索処理と違っていくつか注意すべきポイントがあります。まず、Excelシート上での変更行がどの行なのか判別する必要があります。Oracleデータベースの表全体に対して更新処理をすると、サーバ側にかかる負荷は高くなりますので、通常はExcelシート上のどの行が更新されたかをExcel側で判別して、その行のみを対象としてUPDATE文を発行します。当然ながら、それが更新(UPDATE)なのか、削除(DELETE)なのか、追加(INSERT)なのかも判別する必要があります。
さらに、Oracleデータベースのデータを複数の人が変更する可能性がある場合、検索してから更新するまでの間に、ほかの人が同じデータを変更しているかもしれません。そういった場合にそれを無視して変更処理を行うのか、それとも確認ダイアログを表示させるのか、あるいは処理を失敗させるのか、といった制御についても考慮する必要があるでしょう。(次ページに続く)
| 1/4 |
| Index | |
| Excel‐Oracle連携(3) ExcelからOracleを更新できれば大助かり |
|
| Page 1 ・はじめに ・マクロを使用する方法 ・更新処理における注意点 |
|
| Page
2 −Excelで変更行を判別する方法 −更新操作における同時実行性の制御 |
|
| Page
3 ・KeySQLを使用する方法 −事前準備 −KeySQLのGUIから更新 |
|
| Page
4
・KeySQLのマクロを使用する方法 ・KeySQLの誤操作対策 ・まとめ |
|
| Excel‐Oracle連携 |
TechTargetジャパン
- IBMが歴史を変える!? 新カテゴリの製品を発表 (2012/5/25)
IBMは新たな製品カテゴリとなる「PureSystems」を発表。DB2 10とビッグデータの関係、PureSytemsの斬新さはどこかに迫ります - クラウド時代のデータ処理を支える分散KVSの可能性 (2012/5/23)
現在、高速データ処理の主流はインメモリ型データ処理だが、別の方法として分散KVSが注目を集めている。今回は分散KVSについて話を聞いた - 複数の表からデータを取り出して表示させる(2) (2012/4/23)
前回はSQLの基本的な結合構文について説明しました。今回は、より複雑な自己結合や外部結合について説明します - SQL Server、OOWにIQ、盛りだくさんの4月 (2012/4/20)
オラクルオープンワールドが3年ぶりに東京で開催されたほか、SQL Server 2012が提供開始されるなど、今月は話題が盛りだくさんです
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
