sqlserver 8003系统错误 参数超过2100个异常 的解决

sqlserver 8003系统错误 参数超过2100个异常 的解决,第1张

概述    異常: System.Data.SqlClient.SqlException: 着信の表形式のデータ ストリーム (TDS) リモート プロシージャ コール (RPC) プロトコル ストリームが不適切です。この RPC 要求に指定されたパラメータが多すぎます。最大数は 2100 です。   The incoming tabular data stream (TDS) remote proc

 

 

異常:


System.Data.sqlClIEnt.sqlException: 着信の表形式のデータ ストリーム (TDS) リモート プロシージャ コール (RPC) プロトコル ストリームが不適切です。この RPC 要求に指定されたパラメータが多すぎます。最大数は 2100 です。

 

The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Too many parameters were provIDed in this RPC request. The maximum is 2100 d.

 

 

內送的表格式資料流 (TDS) 遠端程序呼叫 (RPC) 通訊協定資料流不正確。此 RPC 要求中提供了太多參數。最大值為 2100!。

 

红色处:msqlCommand.Parameters的参数超过2100个。用拼文字串来解决就OK

 

    Public Function PFn_ExcuteDB(ByVal strsqlBuilder As StringBuilder,_
                                        Optional ByVal htPara As Hashtable = nothing,_
                                        Optional ByVal intTimeOut As Integer = 0) As Integer
        Dim enumerator As IDictionaryEnumerator

        Try
            ''sql文の存在を判断する
            'If strsqlBuilder Is nothing Then
            '    PFn_ExcuteDB = -1
            '    Exit Function
            'End If

            'sql文を追加する
            msqlCommand.CommandText = strsqlBuilder.ToString()
            msqlCommand.CommandType = CommandType.Text

            'タイムアウト時間を判断する
            If 0 < intTimeOut Then
                '自定義の時間をセットする
                msqlCommand.CommandTimeout = intTimeOut
            Else
                'システムの時間をセットする
                msqlCommand.CommandTimeout = ComVariable.SystemInfo.DBTimeOut
            End If

            '項目の値をセットする
            If Not htPara Is nothing Then
                '臨時オブジェクトを変化する
                enumerator = htPara.GetEnumerator

                '項目をループする
                While enumerator.MoveNext()
                    'sqlの中、変数をセットする
                    If enumerator.Value Is nothing Then
                        msqlCommand.Parameters.AdDWithValue("@" & PFn_ToString(enumerator.Key),dbnull.Value)
                    Else
                        msqlCommand.Parameters.AdDWithValue("@" & PFn_ToString(enumerator.Key),enumerator.Value)
                    End If
                End While
            End If

            'LOGファイルを出力する
            Call ComMethod.PSb_WriteLOGfile(2,strsqlBuilder,htPara)

            'DBを実行する
            PFn_ExcuteDB = msqlCommand.ExecuteNonquery()

            'オブジェクトの初期化をセットする
            msqlCommand.CommandText = String.Empty

            '引数を解放する
            msqlCommand.Parameters.Clear()
        Catch ex As Exception
            PFn_ExcuteDB = -1

            '引数を解放する
            msqlCommand.Parameters.Clear()

            'オブジェクトの初期化をセットする
            msqlCommand.CommandText = String.Empty

            ''異常メッセージを表示する            'MsgBox(ex.ToString())            Throw ex        End Try    End Function

总结

以上是内存溢出为你收集整理的sqlserver 8003系统错误 参数超过2100个异常解决全部内容,希望文章能够帮你解决sqlserver 8003系统错误 参数超过2100个异常 的解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/sjk/1181435.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存