ASPX中的SQL存储过程没有执行

时间:2012-06-25 08:48:15

标签: asp.net sql-server stored-procedures

我创建了一个将Excel文件转换为SQL Server 2008 R2的存储过程。当我在Visual Studio 2008中测试它时它非常有效。

但是,当我使用SqlDataSource控件在ASPX页面中使用存储过程时,虽然没有显示错误消息,但存储过程不会执行且不会发生转换。这是ASPX代码:

<%@ Page Title="Home Page" Language="VB" MasterPageFile="~/Site.Master" 
         AutoEventWireup="false" CodeFile="Processing.aspx.vb" Inherits="_Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
         ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" 
         SelectCommand="MyStoredProcedure" 
         SelectCommandType="StoredProcedure">
    </asp:SqlDataSource>
</asp:Content>

SQL Server存储过程代码:

ALTER PROCEDURE dbo.MyStoredProcedure 
AS

SELECT * 
INTO [dbo].[MySQLtable] 
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 8.0;Database=C:\MyExceltable;', 
                'SELECT * FROM [Sheet1$]')
RETURN

任何帮助都将受到高度赞赏。

2 个答案:

答案 0 :(得分:1)

是否从服务器提供aspx页面?如果是这样,文件(MyExceltable)需要在服务器而不是用户的机器上。

答案 1 :(得分:1)

你有:

SelectCommand="MyStoredProcedure" 

查看您的SQL脚本,这应该是:

SelectCommand="StoredProcedureExcelToSQL"