我创建了一个将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
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
是否从服务器提供aspx页面?如果是这样,文件(MyExceltable)需要在服务器而不是用户的机器上。
答案 1 :(得分:1)
你有:
SelectCommand="MyStoredProcedure"
查看您的SQL脚本,这应该是:
SelectCommand="StoredProcedureExcelToSQL"