我们在SQL Server中设置了一个链接服务器到oracle服务器。
我需要用一些数据填充gridview。但我发现当我使用数据源的参数时,查询非常慢。但是,如果我硬编码代替参数的值,查询会更快。
该参数是从带有自动回发的文本框控件设置的。
我已经像这样编码了......
<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使用链接服务器,除此之外,它还能及时返回数据。
如果我需要提供更多信息,请告诉我们。