none
DataAdapterについて教えてください RRS feed

  • 質問

  • ExcelファイルをDataAdapter(Fill)によりDatasetに取込む処理を行っているのですが、

    Excelシートの列数が256(Max)になると

    『定義されているフィールドが多すぎます。』

    エラーが出力されます。

     

    列数が255の場合は問題ありません。

    これはExcelを使用する場合の制約でしょうか?

    また、回避策はあるのでしょうか?

     

    知っている方がありましたら、ご教授をお願いします。

    2008年2月16日 15:28

回答

  • データテーブルにそのような制約はありませんから、Microsoft.Jet.OLEDBの制約だと思います。そのような仕様書を見つけることができませんでしたので確証はありませんが、mdbは255列までしか作成できないことからも、可能性は高いと思います。

     

    回避方法としては以下が参考になると思います。

     

    VB~Excelへの質問です。
    http://www.vbalab.net/vbaqa/data/excel/log/tree_604.htm

    2008年2月16日 18:36
    モデレータ

すべての返信

  • データテーブルにそのような制約はありませんから、Microsoft.Jet.OLEDBの制約だと思います。そのような仕様書を見つけることができませんでしたので確証はありませんが、mdbは255列までしか作成できないことからも、可能性は高いと思います。

     

    回避方法としては以下が参考になると思います。

     

    VB~Excelへの質問です。
    http://www.vbalab.net/vbaqa/data/excel/log/tree_604.htm

    2008年2月16日 18:36
    モデレータ
  • trapemiya様

     

    早々の回答、ありがとうございます。

     

    自分も、OLEDBの制約だと思いODBCにてExcel接続を行い試してみましたが、

    結果はOLEDBと同じでした。

     

    ODBCにて、Oracleを対象として接続した場合は

    900項目ほどあるテーブルもDataSetに取得できました。

     

    制約だとしても、MDBが255項目がMaxでも、Excelは256まで使用可能なのだから、

    許容してくれても良いと思うのに。。。

     

    参考、確認させていただきました。

    分割して読込むと言うことですね。

    ちょっと試してみます。

    後は、性能がどうかといったところだと思います。

     

    ありがとうございました。

     

    2008年2月16日 20:03