1

SQL ServerにOracleサーバーへのリンクサーバーがセットアップされています。

グリッドビューにデータを入力する必要があります。しかし、データソースでパラメーターを使用すると、クエリが非常に遅くなることがわかりました。ただし、パラメーターの代わりに値をハードコーディングすると、クエリははるかに高速になります。

パラメーターは、自動ポストバックを使用してテキスト ボックス コントロールから設定されます。

私はそれを次のようにコーディングしました...

<asp:SqlDataSource ID="dsRepairs" runat="server" 
            SelectCommand="SELECT REPAIR_NO + '-' + LINE_NO AS SELECT_OPTION, CUSTOMER_NO, DATE_ADDED, YOUR_REFERENCE, PART_NO, DESCRIPTION, SERIAL_NO, REPAIR_STATUS 
                             FROM TEST..INFOVIEW.CRO_LINES 
                            WHERE CUSTOMER_NO = @CUSTOMER_NO;" ConnectionString="<%$ ConnectionStrings:ConnectionString %>">
                <SelectParameters>
                    <asp:ControlParameter Name="CUSTOMER_NO" ControlID="txtAccountNo" PropertyName="Text" DbType="String" Direction="Input" />
                </SelectParameters>
            </asp:SqlDataSource>

余分な時間はデータ型の変換によるものだと思いますが、これを高速化する方法を知りたいです。パラメータ メソッドを使用している場合、ページにデータが読み込まれるまで 15 秒以上待つことはできません。

のオプションしかないようですがDBType="String"、オラクルのソーステーブルのフィールドタイプはvarchar(20).

これを改善する方法はありますか?データソースの設定方法を制御することはできません。SQL Server を介してリンク サーバーを操作する必要がありますが、これを除けば、適切なタイミングでデータを返すことは許容範囲を超えています。

さらに情報を提供する必要がある場合はお知らせください。

4

0 に答える 0