Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将文件名保存到sql数据库中,同时运行ssis包_C#_Asp.net_Sql_Ssis_Sql Server 2008 R2 - Fatal编程技术网

C# 将文件名保存到sql数据库中,同时运行ssis包

C# 将文件名保存到sql数据库中,同时运行ssis包,c#,asp.net,sql,ssis,sql-server-2008-r2,C#,Asp.net,Sql,Ssis,Sql Server 2008 R2,场景:我正在开发一个web应用程序,允许用户将Excel文件上载到SQL Server 2008 R2数据库中各自的表中。当用户单击upload按钮时,我还运行一个使用SSIS开发的ETL过程 我的开发环境:Asp.net、IIS7、C、SQL Server 2008 R2 我目前面临的问题是将文件名保存到表中的另一列中,因为我还将为用户创建gridview函数,以查看已上载到数据库中的文件,并允许用户下载错误文件 问题:在ETL过程中运行SSIS包时,有没有办法将文件名保存到相同的表中 下面是

场景:我正在开发一个web应用程序,允许用户将Excel文件上载到SQL Server 2008 R2数据库中各自的表中。当用户单击upload按钮时,我还运行一个使用SSIS开发的ETL过程

我的开发环境:Asp.net、IIS7、C、SQL Server 2008 R2

我目前面临的问题是将文件名保存到表中的另一列中,因为我还将为用户创建gridview函数,以查看已上载到数据库中的文件,并允许用户下载错误文件

问题:在ETL过程中运行SSIS包时,有没有办法将文件名保存到相同的表中

下面是我的代码示例:

string filePath1 = Server.MapPath(System.IO.Path.GetFileName(file.FileName.ToString()));
file.SaveAs(filePath1);

package = app.LoadPackage(packageString, null);
package.Connections["Excel Connection Manager"].ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath1 + ";Extended Properties=Excel 12.0;HDR=YES;IMEX=1";
Microsoft.SqlServer.Dts.Runtime.DTSExecResult results = package.Execute();
此方法允许我检索文件名:

String.Format("File : {0} uploaded.", file.FileName)

因此,当我执行包时,如何同时将文件名保存到表中?

我设法解决了这个问题:string connectionString=DAO.GetConnectionString;SqlConnection sqlConn=新的SqlConnectionconnectionString;sqlConn.Open strQuery=updateuploadsummarydb set fileName=@fileName,其中id在select maxid from uploadSummaryDB中;SqlCommand=newsqlcommandstrquery,sqlConn;命令参数。Add@fileName,SqlDbType.NVarChar.Value=file.FileName.ToString;command.ExecuteNonQuery;很高兴知道你解决了你的问题。请将您的答案作为答案发布。这样,其他人可以从中获得更多的好处。
  string connectionString = DAO.GetConnectionString(); 
SqlConnection sqlConn = new SqlConnection(connectionString);
 sqlConn.Open() 
strQuery = "update uploadSummaryDB set fileName = @fileName where id in (select max(id) from uploadSummaryDB)"; 
SqlCommand command = new SqlCommand(strQuery,sqlConn); 
command.Parameters.Add("@fileName", SqlDbType.NVarChar).Value = file.FileName.ToString(); command.ExecuteNonQuery();