0

ExcelファイルをSQLサーバーにエクスポートするために、システムからExcelファイルをアップロードするためにasp.net fileuploadコントロールを使用しています。パスからファイルをアップロードすると、フルパスではなくファイル名のみがロードされます。SQLサーバーストアドプロシージャでExcelファイルを実行するにはフルパスが必要です.Excelのフルパスストアドプロシージャがないと機能しないためです。どのように問題を解決できますか?

これは、Excel ファイルのフル パスを必要とするストアド プロシージャです。そのため、フル パスを取得する必要があります。

alter procedure [dbo].[sp_excelforgeneralholidays](@filname nvarchar(max),@getdate datetime,@adminid int)
 as  
 declare @datavar nvarchar(max)
 declare @sql varchar(1000)

 set @datavar  = 'Excel 12.0;Database=' + @filname

 set nocount on
  begin
  set @sql ='insert into Generalholyday_details(Date,Day,Reason) SELECT * FROM OPENROWSET(''Microsoft.ACE.OLEDB.12.0'','''+@datavar+';HDR=YES'',''SELECT Date,Day,Reason FROM [Sheet1$]'')'
 exec (@sql)
  end
4

3 に答える 3

0

これを使って。

string pth = Server.MapPath(FileUpload1.FileName);
于 2013-07-25T07:00:49.637 に答える
0

これを使ってみてください....

string filename = Path.GetFileName(FileUploadControl.FileName);

FileUploadControl.SaveAs(Server.MapPath("~/") + filename);

StatusLabel.Text = "Upload status: File uploaded!";
于 2013-07-25T07:03:58.497 に答える
0

試す

Server.MapPath(FileUpload1.FileName);

それが役に立てば幸い。

于 2013-07-25T06:56:58.393 に答える