- PR -

ローカルMDBへの最速の書き込み方式

投稿者投稿内容
虎猫
常連さん
会議室デビュー日: 2004/05/27
投稿数: 25
投稿日時: 2004-12-16 11:59
何時も参考にさせて頂いております。

■環境
 VB.NET 2003
 ACCESS 2003
 WindowsXP

現在、オラクルデータをローカルMDBにダウンロードする方法を検証して
おりますが、MDBへの書き込み処理が遅くて困っております。

クライアントCPU:2400(Pentium4)メモリ:512
書き込み(秒)
12000件     10
70000件      60
という結果で、秒あたり約1200件の書き込みしかできません.

オラクルから取得したデータオブジェクトをループしながらADO.NETのAddNewメソッドで
書き込みを行っているのですが、他によい方法ありませんでしょうか?



未記入
会議室デビュー日: 2004/12/02
投稿数: 1
投稿日時: 2004-12-16 13:04
INSERT SELECTでテーブルに挿入する方法があります。
虎猫
常連さん
会議室デビュー日: 2004/05/27
投稿数: 25
投稿日時: 2004-12-16 14:13
未記入様

さっそくのご返答ありがとうございます.
INSERTとSELECTで可能との事ですが、「ORACLEからのSELECT」で「ACCESSへのINSERT」であるので、できないのではと思いますが.
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-12-16 14:18
CSVファイル経由でエクスポート/インポートするとか。
http://momotchi.net/ConFile/qry000001.aspx

> INSERT SELECTでテーブルに挿入する方法があります。

同一データベース内ならいいけど、oracleからMDBは出来るのでしょうか?
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2004-12-16 15:11
引用:

INSERTとSELECTで可能との事ですが、「ORACLEからのSELECT」で「ACCESSへのINSERT」であるので、できないのではと思いますが.


Access なんて、ほとんど触ったことがないので適当な事を言いますが、リンクテーブルだかなんだかを使って Oracle のテーブルをマッピングすることができませんでしたっけ?
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2004-12-16 15:23
> 「ORACLEからのSELECT」で「ACCESSへのINSERT」であるので、
> できないのではと思いますが

できませんでしたか。
できると思うけど。

_________________
たつごろー
codeseek
こみゅぷらす
Beatle
ぬし
会議室デビュー日: 2003/06/09
投稿数: 394
投稿日時: 2004-12-16 15:39
レスポンスが上がるかどうかは...やってみないと何とも言えませんが...

OracleのテーブルをAccessのMDBにリンク(ODBC他)すると、Accessのテーブル
として扱えますから、新規テーブルなら「Select〜into〜」、既存テーブルなら
「Insert Into 〜 Select 〜」でインポートできます。
虎猫
常連さん
会議室デビュー日: 2004/05/27
投稿数: 25
投稿日時: 2004-12-16 15:44
皆さんさっそくのご返答ありがとうございます.

リンクは私も考えたのですが、今回の環境上クライアントにはアクセスがインストール
されていないので、リンク等の機能でオラクルに接続という事はしたくないと考えています.
という事で、プログラム上でデータオブジェクトをオラクルから作成して、それをADO.NET等でループしながら書き込むという方法を考えています。
ループ等をしないで効率よく書き込む方法ないもんでしょうか?

スキルアップ/キャリアアップ(JOB@IT)