■SI Object Browser 掲示板


ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!

ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。
なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

discussion
※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。
「結果をExcelファイルに出力する」でエラー 2012/03/13 11:10 OB 5
いつも便利に使わせていただいております。

さて表題の件、SELECT文にて、187,227行の結果を得て、
Excelに出力しようとしたところ、
「Range クラスの PasteSpecial メソッドが失敗しました。.」
と表示されます。
止まる行数は一定ではなく、一万件超えたところで出る場合もあれば、
7万件近くで出る時もあります。
出力時にDBの読み直しはしていません。
SELECT文を実行しなおしても、結果は同様でした。
また、クリップボードに出力では、問題なく出力できます。
Excelは2010を利用しております。
OB11です。

以上、改善点がございましたら、ご指摘くださいませ。
よろしくお願いいたします。
追加情報です。

本日、親文書と同じ作業を実施したところ、
エラーメッセージが変化しましたので、
追記いたします。

エラー発生タイミング
66379/187227
エラーメッセージ
「OLE エラー 800A03EC.」

以上です。
どうぞよろしくお願いいたします。
こんにちは。
OBサポートです。

ご質問の件につきまして、これまでに同様の報告をいただいておりますが
弊社環境にて再現させることができず、根本的な原因が不明の状況でございます。

しかしながら、過去のお問い合わせを確認したところ
解決した事例がございましたので以下に記載いたします。

1)DBサーバがリモートサーバとなっており、ネットワーク負荷が高い場合や
 他アプリケーションが動作しており、メモリが不足している場合

 ⇒不要なアプリケーションが動作していないかなど、端末のリソース使用状況を
  一度ご確認いただけますでしょうか。

2)Excel出力の権限が不足している場合

 ⇒以下の設定を行うことで改善するとの報告をいただいておりますので、
   お試しいただいけますでしょうか。

 1.「コントロールパネル」⇒「管理ツール」⇒「コンポーネントサービス」を
   起動します。
 2.左側のツリーより「コンポーネントサービス」⇒「コンピュータ」⇒
   「マイコンピュータ」⇒「DCOMの構成」を開きます。
 3.「Microsoft Excelアプリケーション」を右クリックし、「プロパティ」を選択します。
 4.「セキュリティ」タブの「構成のアクセス許可」内にある「編集」ボタンを開きます。
 5.権限の編集画面が表示されますので、ログインユーザに対して、
   フルコントロールを追加します。(読取権限だけでもOK)

  ※リモートで使用している場合は、同じ画面の
   「起動とアクティブ化のアクセス許可」で、
   リモートが許可されているかも確認していただけますでしょうか。

3)リモートデスクトップ接続にて、接続先の端末に
 インストールされているObject BrowserでExcel出力を行った場合

 ⇒リモートデスクトップ接続にて、接続先の端末にインストールされている
  Object Browserを使用・Excel出力を行った場合、リモートデスクトップ接続の
  オプションによっては該当のエラーが発生する場合があるとの
  報告をいただいております。

 以下のオプションを設定していただき、改善するかどうかご確認いただけますでしょうか。

 1.スタートメニュー等より、リモートデスクトップ接続のダイアログを起動します。
 2.オプションを展開し、「ローカルリソース」タブの「ローカルリソースとデバイス」
   にある「クリップボード」のチェックを外します。

お手数をおかけしますが、何卒よろしくお願いいたします。
早々のご返信、ありがとうございます。
以下にインラインで記載いたしますが、大まかに申し上げますと、
下記の条件はクリアしておりました。

テーブルを全検索するだけの単純なSQL文でも試してみましたが、
どうも、65000行あたりを超えて出力しようとすると、
件のOLEエラーが出力される模様です。
また、異なる端末でも試してみましたが、結果はほぼ同様でした。
Excel自体はバージョンアップされて、100万行以上扱えるようになりましたが、
OLEがExcel2003の仕様から変わっていないのかもしれませんね。

今回は、クリップボードからのCSV出力にて対応することにしますので、
ひとまずクローズといたします。
引き続き、原因究明の程、よろしくお願いします。

-----------------
>1)DBサーバがリモートサーバとなっており、ネットワーク負荷が高い場合や
> 他アプリケーションが動作しており、メモリが不足している場合
>
> ⇒不要なアプリケーションが動作していないかなど、端末のリソース使用状況を
>  一度ご確認いただけますでしょうか。

特に問題のある状態ではありませんでした。

>2)Excel出力の権限が不足している場合
>
> ⇒以下の設定を行うことで改善するとの報告をいただいておりますので、
>   お試しいただいけますでしょうか。
>
> 1.「コントロールパネル」⇒「管理ツール」⇒「コンポーネントサービス」を
>   起動します。
> 2.左側のツリーより「コンポーネントサービス」⇒「コンピュータ」⇒
>   「マイコンピュータ」⇒「DCOMの構成」を開きます。
> 3.「Microsoft Excelアプリケーション」を右クリックし、「プロパティ」を選択します。
> 4.「セキュリティ」タブの「構成のアクセス許可」内にある「編集」ボタンを開きます。
> 5.権限の編集画面が表示されますので、ログインユーザに対して、
>   フルコントロールを追加します。(読取権限だけでもOK)
>
>  ※リモートで使用している場合は、同じ画面の
>   「起動とアクティブ化のアクセス許可」で、
>   リモートが許可されているかも確認していただけますでしょうか。

適切に権限設定されておりました。

>3)リモートデスクトップ接続にて、接続先の端末に
> インストールされているObject BrowserでExcel出力を行った場合

リモートデスクトップ接続は使用しておりません。
-----------------
横槍すみません。
これって出力先が深い階層にあってパスが長くなったり
パスに全角の()のような禁則文字が含まれたりすると
発生するような気がします。

今更でしかも不確定な意見をすみません。
>通りすがりさん

OBサポートです。
情報のご提供誠にありがとうございます。

当初ご投稿いただいていたエラーとは異なる内容でしたが、
ご指摘の通り、出力先のパスが長い場合や禁則文字が
含まれている場合は、パス不正でエラーとなります。

ご提供いただいた内容でエラーが発生した場合は、
出力先を変更するなどでご対応いただければと存じます。

貴重なご意見ありがとうございました。
何卒よろしくお願いいたします。