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",但是 oracle 中源表上的字段类型是varchar(20).

有什么办法可以改善这一点吗?我无法控制数据源的设置方式。我必须通过 SQL Server 使用链接服务器,除此之外,及时返回数据是可以接受的。

如果我需要提供更多信息,请告诉我!

4

0 回答 0