SQL Server2008のストアドプロシージャから.netアプリに返すことができる文字列の最大長

StackOverflow https://stackoverflow.com/questions/9400934

質問

次のように(SQL Server 2008の)ストアドプロシージャから静的文字列を返します: ジェネラコディセタグプレ

静的な文字列の長さが制限(例:8kb)を超えている場合、部分的な文字列(例:7kb)のみが.netアプリに返されます。

静的文字列をvarchar(max)に割り当てたり、変数を選択したりするなど、さまざまな方法で試しましたが、それでも部分的な文字列しか返されません。

最大5MBの完全な文字列を返す必要があります。したがって、主な懸念事項:

  1. ストアドプロシージャから返すことができる文字列の最大長はどれくらいですか
  2. ストアドプロシージャから.netアプリに5mbの文字列を返す方法。

    誰かがこの問題を解決するのを手伝ってくれるようにお願いします。 以下のコードを見つけてください ジェネラコディセタグプレ

    事前にオタクに感謝します。

役に立ちましたか?

解決 2

サポートに感謝します。これに対する修正が1つ見つかりました。 http://www.sqlservercentral.com/Forums/Topic350590-145-1.aspx

修正は、変数を宣言し、空の文字列に初期化して、メインの文字列と連結する必要があります。 ジェネラコディセタグプレ

文字列の長さが8000未満の場合、上記のアプローチがなくても機能します。

ありがとうございます。

他のヒント

OLEDB接続(8kの制限があります)を使用していないように見えるので、問題はプロシージャコードにあると思います。

または、データベースの互換性バージョンがSQLServer 2008以外に設定されている可能性があります(SQL Server 2000は、GetString()を使用して8kを超える値を返すことはできませんでした)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top