DOBON.NET DOBON.NETプログラミング掲示板過去ログ

100列以上の列を含むテーブルの操作について

環境/言語:[VB.net .NET Frameworkのバージョン(1.0, 1.1)]
分類:[.NET]

いつもお世話になっています。

VB.netで、ODBCを使ってSQLServer7.0にアクセスしているのですが、
100列以上の列を含むテーブルに対してデータアダプタを作成しようとすると、
エラーが出てしまい、データアダプタを作成できません。

この場合、どのようにしてこのテーブルにアクセスすればよいのでしょうか?

ご存知の方がいらっしゃいましたら、教えてください。
よろしくお願いします。
■No3849に返信(SHさんの記事)
> VB.netで、ODBCを使ってSQLServer7.0にアクセスしているのですが、
> 100列以上の列を含むテーブルに対してデータアダプタを作成しようとすると、
> エラーが出てしまい、データアダプタを作成できません。

  因みに、何故ODBCなのでしょうか?
  ODBCの制約かもしれないのですが・・・(未確認)
  ADO.NET での、SqlClient を使って、SQL Server に接続しても
  同様のことになりますか?

  お試し下さい。

以上。
岡田様

>   因みに、何故ODBCなのでしょうか?
>   ODBCの制約かもしれないのですが・・・(未確認)
>   ADO.NET での、SqlClient を使って、SQL Server に接続しても
>   同様のことになりますか?

SqlDataAdpterを作成しようとしているのですが、このとき、
100列以上のテーブルに対してデータアダプタが作れないでいます。

岡田様の言っていることの答えになっていなかったらすいません。

データアダプタは作らずに、直接SqlCommand等で操作するしかないのでしょうか?
私も同じ現象が起こったことがあります。その時のDB環境はSQLServer2000でしたが。

>100列以上の列を含むテーブルに対してデータアダプタを作成しようとすると、
>エラーが出てしまい、データアダプタを作成できません。

その時はデザイン時にはエラーが発生しましたが、コード上で設定すれば100列以上のテーブルでもエラーが発生しなかったので、デザイン時のみの制限だと思います。

以下のページも参考になるかもしれません。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=6118&forum=7
ええ〜と

まず、VB.NET 2002 + .NET Framework 1.0 の組み合わせで、
データベースに対するアクセスでは、何がしかトラブルが
多いようで・・・

VB.NET 2002 + .NET Framework 1.1

にしてみたら、出なくなったと言う経験はあります。
原因は追究していませんが、結果として安定したので。

今回のケースでも、デザイン時にと言う状況で、コードで
のみ実行すれば、エラーが出無い可能性もありますが、
.NET Framework をアップしてみるという手もあります。

ですが、完全な解決方法ではないので、注意が必要です。
ズバリのことで申し訳ありませんが、あくまで経験則と言う
部分でのみ・・・参考にして下さい。

※ .NET Framework 1.1 を入れた場合、1.0互換で動作
  します。制限や他の問題があるやもしれません。
  マイクロソフトのサイトで調べてみて下さい。

以上。
Jackさん、岡田さん

お返事ありがとうございます。

コード上でデータアダプタを書いた場合、
Selectはうまくいくのですが、insert,Updateがうまくいきません。。
なにか工夫がいるのかも。。

また、Framewaorkのバージョンは、1.1ですが、同じになってしまいます。。

データアダプタを作成せずに、
普通にSQLを書いてSqlCommandで流したらinsertはうまくいきました。

もうちょと調べてスマートに解決したかったのですが・・
時間がないので今回はこの方法でやってみることにします。

いろいろありがとうございました。
助かりました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板