- ベストアンサー
PL/SQLでmdbファイルへの書き込みは可能?
ARCの回答
ミドルウェアにoo4o(Oracle Objects for OLE)を選択すれば、バルク転送は可能です。 ですが、「テーブルのデータを一括して読む」用途にはバルク転送は不向きだと思われます。(oo4oヘルプにあるサンプルコードはまさにコレをやってたりするんですが…) データを読み込む際の速度は (非常に遅い) SELECT文で1行ずつ取り込む (ちょい遅い) Accessのリンクテーブル経由でADOなどのレコードセット(カーソル)を使用する (結構速い) ADO等ののODBC Direct接続を使用する oo4o等Oracleに直接接続するミドルウェアを使用する。 MDBに書き込む際の速度は (非常に遅い) INSERT文で1行ずつ書き込む (遅い) リンクテーブル経由でADOやDAOのレコードセットを使用して書き込む (結構速い) ADOやDAOのレコードセット経由で、ローカルのテーブルに書き込む(AddNewメソッド、Updateメソッドを使用) (もうちょっとだけ速い) DAOのTableDirect接続で、書き込む ↑のような感じだと思います。(接続時のパラメータ次第で書き込み/読み込みの速度は増減しますが) お書きになった文章から判断するに、「毎回Insertを発行しているために」が恐らくボトルネックではないでしょうか。 もう少し高速な書き込み方法を検討されると、よい結果が得られるような気がします。
関連するQ&A
- PL/SQLで、MDBファイル作成
お疲れ様です。 質問をお願い致します。 OS:WindowsXP DB:Oracle10g PL/SQLで、DBより対象データを取得し、MDBファイルの作成、書込み行いたいのですが、可能なのでしょうか。 ネットで調べたところ、MDBファイルに書き込みは可能と分かったのですが、 ファイルの作成の情報が無かったので、質問させて頂きました。 参考になるサイトなどがあれば教えて頂けますでしょうか? また、こちらでも重複して質問させて頂いております。 http://forums.oracle.com/forums/thread.jspa?threadID=2219258&tstart=0 どうぞ、宜しくお願い致します。
- ベストアンサー
- Oracle
- 異なるmdbファイルにテーブルをSQLでコピー
SELECT * into table1 from tabel2 のようにして、同じmdbの中でテーブルをコピーすることはできますが、 異なるmdbファイルにテーブルをSQLを使ってコピーすることはできるものですか。 #できないという回答もお待ちします。 #access2000
- ベストアンサー
- その他(データベース)
- PL/SQLでのSQL文法
こんにちは。教えてください。 PL/SQLを使うのが初めで戸惑っています。 まず、PROCEDUREで =========================== BEGIN SELECT NAME FROM TABLE1 WHERE NAME='tanaka'; END; / =========================== このように書いて実行させようとすると、「コンパイルエラー」 「INTO句はこのSELECT文に入ります」というエラーが出ます。 SQLの文法的には間違ってないと思うのですが、INTO句とはこれいかに?? ネットでPL/SQLで検索かけて調べたのですがあまりにも初歩すぎて わかりませんでした。 PL/SQLやORACLEのメーリングリストでお勧めがありましたら教えてください。 よろしくお願いいたします。
- ベストアンサー
- その他(データベース)
- PL/SQLのエラー処理について
PL/SQLを勉強し始めたのですが、テーブルを作成してから、データを流し込むという処理をしたいのですが、テーブルの作成に失敗しらたら、処理を終了させるという処理はできないのでしょうか? それとも、考え方が違うのでしょうか?アドバイスお願いします。 次のようにPL/SQLを作成しています。 例) declare curHandle1 INTEGER; begin curHandle1 := DBMS_SQL.OPEN_CURSOR; DBMS_SQL.PARSE(curHandle1, 'create table xxx as select * from xxx where ID=-1', DBMS_SQL.V7); DBMS_SQL.CLOSE_CURSOR(curHandle1); exception when OTHERS then エラーになったら、処理終了したい(次のブロックにいきたくない) end; declare begin insert into xxx NOLOGGING values (1,'test'); end; よろしくお願いします。
- ベストアンサー
- Oracle
- Accessデータを違うmdbにコピーしたい
VB2005で、mdbをデータベースにして開発しています。 aaa.mdbのテーブル1のデータをbbb.mdbのテーブル1に読み込ませたいと思っています。 bbb.mdbのテーブル1は、aaa.mdbのテーブル1よりフィールド数が多く、 該当する列にデータを読み込ませたいと思っています。 今まで、バックアップはaaa.mdbを丸ごとコピーして圧縮ファイルにしていました。復元の時は、解凍して上書きする、という手法をとっていました。 しかし、今回どうしてもテーブル1に列を追加しなくてはならず、aaa.mdbのバックアップデータをbbb.mdbに読み込ませて、VB2005のフォームに表示したいと考えております。 以上のような操作は可能でしょうか?可能でしたらその手法を是非教えてください。 また、データベースアプリを作成する上でアプリ完成後に、カスタマイズや計算方法の変更により列の追加が必要になる、いうことはまずいことでしょうか?前もって考えてフィールドを持っておくべきなのでしょうか?経験がないため、わかりません。この点についてもアドバイスがありましたら宜しくお願い致します。
- ベストアンサー
- その他(データベース)
- アクセスからオラクルへテーブルをエクスポートするVBAコードは?
バックアップとして、アクセスからオラクルへテーブルをエクスポートします。その際のアクセスVBAのコードがわかりません。 SQLで行おうとしたらフィールドが120ほどありコードが軽く千行を超えてしまったためあきらめました。 流れとしては、mdb内にオラクルテーブルをコピーして→mdbからオラクルへテーブルをエクスポートして→テーブルのリンクを削除する、と考えています。 また、もしSQLで簡潔に上記作業を行える書き方があるのなら、それも合わせて回答をいただけるととても助かります。 よろしくお願いいたします
- ベストアンサー
- その他(データベース)
- PL/SQLでインポート(IMP)をしたいのですが?
1.PL/SQLでテーブルのインポート(IMP)をしたいのですが どのような記述をすればよろしいでしょか? また、無理であればお、.NET VBでテーブルのインポート(IMP)をしたいのですが、どのような記述をすればよろしいでしょか? 2.上記の質問で、SQLLDRで行う場合はどうすればよいか? 大変申し訳ございませんが、よろしくお願い致します。
- ベストアンサー
- Oracle
- MDBファイル→ORACLEテーブル
いつもよく拝見させてもらってます。 今回初めて投稿させていただきますので何とぞ色々な面でご教授のほどよろしくお願いしますm(_ _)m 本題ですが、VB6を使いACCESSのMDBファイルをORACLEのテーブルにエクスポートするやり方を考えております。 Commandボタンを用意し、それをクリックしたらORACLEのテーブルにデータが入るというプログラムを作成しているのですが、ADOを使いMDBファイルのデータを落とす事まではできたのですが、ORACLEへの登録の仕方が分からないのでどなたかアドバイス又は参考となるサイト等ありましたらよろしくお願いします。 まだまだ初心者で分からない事だらけですので、何か他に情報が必要な際は、ご連絡ください。
- 締切済み
- Visual Basic
- PL/SQLからshellスクリプトの起動はできますか?
ORACLE9i(Solaris)で処理しているPL/SQLから同サーバ上のshellスクリプトを起動させることは可能でしょうか?可能な場合は、そのやり方を教えてください。
- 締切済み
- Oracle
- shからPL/SQLブロックを実行する方法
Solaris上でshスクリプト中からPL/SQLを記述したファイルを呼び出して、Oracleのテーブルに対して操作したいのですが、 test.shファイル #/bin/sh sqlplus userid/password@ddzk test.sqlファイル DECLARE … BEGIN INSERT INTO table VALUES( … ) END; / コマンドラインから $./test.sh を実行すると、 ./test.sh: sqlplus: 見つかりません。 と表示されます。 どなたかshスクリプトからPL/SQLで記述したファイルを実行する 方法をご存知の方、ご教示願います。
- ベストアンサー
- その他(プログラミング・開発)