一般情况一般项目WEB服务器与数据库均部署在一台服务器,文件上传,数据导入在一台服务器完成。web服务器与数据库服务器分离,文件上传与数据导入将分布在两台服务器或多台服务器之间。本案例为两台服务器,具体实施步骤如下:

一.两台服务器(a:web服务器,b:数据库服务器),a,b均安装Windows Server 2008 R2操作系统,a服务器安装IIS7.5,.NET FrameWork4.5,b服务器安装SQL Server 2008数据库。a服务器安装网域,并创建一个域用户(dataFileUploadUser),取消新建域用户远程控制权限,将b服务器加入网域(Windows Server 域的创建与加入可在网上搜索相关文章)。

二.在b数据库服务器创建存放excel文件夹,并将此文件夹设置为共享,文件夹的访问权限和共享权限设置为*步创建的域用户(dataFileUploadUser),赋于读/写权限。

三.在a服务器通过“映射网络驱动器测试”,挂载b服务器的共享文件夹设置是否正常。

四.以上步骤测试通过后,对web服务器进行设置。

五.在a服务器的“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files”的文件夹,赋于域用户(dataFileUploadUser)修改权限。

六:修改a服务器web程序web.config文件:

<appSettings>

<!–上传文件保存路径–>

<add key=”WebTemp” value=”\\xx.xx.xx.xx\exceldata” />

</appSettings>

<system.web>

<!–访问共享文件夹帐号密码–>
<identity impersonate=”true” userName=”dataFileUploadUser” password=”123″/>
</system.web>

七:上传文件至共享文件夹代码:

string uploadPath = System.Configuration.ConfigurationManager.AppSettings[“WebTemp”];

if (file != null)
{
string ExcellastName=Guid.NewGuid().ToString().Replace(“-“, “”) + “.xls”;
string filePath = Path.Combine(uploadPath, ExcellastName);
file.SaveAs(filePath);

}

八.b数据库服务器读取上传文件,导入数据。

web服务器与文件服务器,图片服务器分离上传文件适用此方法。