[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/05/22(Mon) 18:00
投稿者名:ベータ
Eメール:
URL :
タイトル:
CommandTextの長さ制限
ADODBを使っているのですがCommandTextプロパティに入れる
SQL文の長さが2000バイト辺りを越えると以下のエラーが出ます
「-2147156428 ストリング定数プールのオーバーフローです」
CommandTextって制限が有るんですか?
制限が有っても拡張する方法って有りませんでしょうか?

何方か御指導下さいますようよろしくお願いします。

投稿時間:2006/05/23(Tue) 11:19
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: CommandTextの長さ制限
> CommandTextって制限が有るんですか?
あります。プロバイダにも依存するので、何文字までとは言えませんけれども…。


> 制限が有っても拡張する方法って有りませんでしょうか?
案1) ストアドプロシージャや、ストアドクエリを用いて、一度に送信する文字列を短くする。

案2) リシェイプを用いて、問い合わせを数回に分断する。
 hhttp://msdn.microsoft.com/library/ja/jpado260/htm/mdprodynname.asp

案3) 文字列ではなく、ストリームによる問い合わせを行う。
 hhttp://msdn.microsoft.com/library/ja/jpado260/htm/mdprocommandstream.asp

投稿時間:2006/05/23(Tue) 13:48
投稿者名:ベータ
Eメール:
URL :
タイトル:
Re^2: CommandTextの長さ制限
魔界の仮面弁士 様 早速の返答有難う御座います。

ストリームによる解決が良さそうかな?と思いつつも。示して頂いた
サイトの情報だけでは使い方が良く解らず。手持ちの資料では
CommandStreamを解説している物が有りません。
何方か良いサンプルが出ているようなサイトをご存知の方が
いらっしゃいましたら、教えて下さい。

投稿時間:2006/05/23(Tue) 15:16
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re^3: CommandTextの長さ制限
> サイトの情報だけでは使い方が良く解らず。

CommandStream を使う場合は、あわせて Dialect プロパティを指定する必要があります。

Const DBGUID_DEFAULT  As String = "{C8B521FB-5CF3-11CE-ADE5-00AA0044773D}"
Const DBGUID_SQL      As String = "{C8B522D7-5CF3-11CE-ADE5-00AA0044773D}"
Const DBGUID_MSSQLXML As String = "{5D531CB2-E6Ed-11D2-B252-00C04F681B71}"
Const DBGUID_XPATH    As String = "{EC2A4293-E898-11D2-B1B7-00C04F680C56}"


上記の GUID 値で検索すると、国内外(主に英語圏)でサンプルが見つかるかと。