none
SqlDataSource调用存储过程的问题 RRS feed

  • 问题

  • 以下是oracle的存储过程:
    create or replace procedure gzrz_count(result out sys_refcursor) is
    begin
    open result for select zzjgdm bzmc,count(id) rzsl from gzrz group by zzjgdm;
    end gzrz_count;
    我用SqlDataSource调用
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:SCGL %>"
                ProviderName="<%$ ConnectionStrings:SCGL.ProviderName %>" SelectCommand="GZRZ_COUNT"
                SelectCommandType="StoredProcedure">
            </asp:SqlDataSource>
    出现如下错误:
    ORA-06550: 第 1 行, 第 7 列:
    PLS-00306: 调用 'GZRZ_COUNT' 时参数个数或类型错误
    ORA-06550: 第 1 行, 第 7 列:
    PL/SQL: Statement ignored



    其它代码(一个微软的图形控件):
            <asp:Chart ID="Chart1" runat="server" DataSourceID="SqlDataSource1" Width="1800px">
                <Series>
                    <asp:Series Name="Series1" XValueMember="bzmc" YValueMembers="rzsl" IsValueShownAsLabel="true"
                        ChartType="Column">
                    </asp:Series>
                </Series>
                <ChartAreas>
                    <asp:ChartArea Name="ChartArea1">
                        <AxisX Interval="1" IsLabelAutoFit="false">
                            <LabelStyle Angle="45" Font="幼圆 14pt" />
                        </AxisX>
                    </asp:ChartArea>
                </ChartAreas>
            </asp:Chart>
    2010年3月15日 2:28

答案

  • 你好!

    你用 SQL Profile 跟踪一下,看看是否是 SQLDataSource 中参数定义的问题,还是你存储过程中的逻辑问题。

    知识改变命运,奋斗成就人生!
    2010年3月15日 5:00
    版主
  • 你好,

    可能是你的存储过程问题。

    不知道你的存储过程是否经过测试,如果没有测试过请测试好了再使用。


    Microsoft Online Community Support
    2010年3月16日 2:16

全部回复

  • 你好!

    你用 SQL Profile 跟踪一下,看看是否是 SQLDataSource 中参数定义的问题,还是你存储过程中的逻辑问题。

    知识改变命运,奋斗成就人生!
    2010年3月15日 5:00
    版主
  • 你好,

    可能是你的存储过程问题。

    不知道你的存储过程是否经过测试,如果没有测试过请测试好了再使用。


    Microsoft Online Community Support
    2010年3月16日 2:16